python #!/usr/bin/python作用

#!/usr/bin/python
指定用什么解释器运行脚本以及解释器所在的位置

# -*- coding: utf-8 -*-
用来指定文件编码为utf-8的
PEP 0263 -- Defining Python Source Code Encodings
http://www.python.org/dev/peps/pep-0263/

估计有不少人注意过一些python脚本开头有这么行东东:
#!/usr/bin/python
它是用来干嘛的?貌似没有它对脚本功能也没啥影响。它是用来指定用什么解释器运行脚本以及解释器所在的位置。

以test.py为例,脚本内容如下:

def test():
        print ‘hello, world‘

if __name__ == "__main__":
        test()

运行脚本:
python test.py
输出:
hello, world

换一种方法运行:
./test.py
会提示出错,文件无可执行权限:
-bash: ./test.py: Permission denied

将文件设为可执行:
chmod +x test.py
继续运行:
./test.py
提示:
./test.py: line 1: syntax error near unexpected token `(‘
./test.py: line 1: `def test():‘
那是因为系统默认该脚本是shell脚本,把它当shell语句执行,当然失败了。

在前面加上
#!/usr/bin/python
申明l这是个python脚本,要用python解释器来运行:
./test.py
输出:
hello, world

这个东东常用在cgi脚本中,apache启动cgi脚本时就靠它来知道这是个python脚本,执行它需要的python解释器路径在哪里。
有时候写 #!/usr/bin/python 还是不行,很简单,因为python解释器没有装在/usr/bin/目录,改成其所在目录就行了,或者更通用的方法是:
#!/usr/bin/env python

原文地址:https://www.cnblogs.com/ocean1100/p/9276011.html

时间: 2024-10-27 18:39:13

python #!/usr/bin/python作用的相关文章

-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory

报错:-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory python多版本造成额问题 找不到python的路径 所以保持 -查找python#whereis pythonpython: /usr/bin/python /usr/bin/python2.4 /usr/lib/python2.4 /usr/local/bin/python2.7 /usr/local/bin/python

关于python脚本头部设置#!/usr/bin/python

今天又是贼几把菜的一天0.0 读别人程序的时候看到在python文件头部设置签名,感觉贼几把酷,自己也试着在文件前段设置了一下. 设置还是蛮简单的,设置过程如图所示. 设置后如图所示: 当然你也可能看到有的人在文件头部添加如下语句,但是你并不知道什么意思,只是感觉很酷. #!/usr/bin/python #!/usr/bin/env python 首先需要说明:这句代码在unix类的操作系统才有意义!这句代码在unix类的操作系统才有意义!这句代码在unix类的操作系统才有意义! 这句话的目的

【转载】关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型

下面的内容来自:http://www.cnblogs.com/blueskylcc/p/5332642.html, 对方也是转的,不过没有找到转载的出处: 1.#!/usr/bin/python 是用来说明脚本语言是 python 的 是要用 /usr/bin下面的程序(工具)python,这个解释器,来解释 python 脚本,来运行 python 脚本的. 2.# -*- coding: utf-8 -*- 是用来指定文件编码为 utf-8 的 详情可以参考:PEP 0263 - Defin

#!/usr/bin/python的作用

这是脚本语言共同遵守的规则:当第一行为 #!/path/to/script/interpreter时,指定了用来执行本脚本的解释器. 注意:1.必须是文件的第一行2.#!开头的,说明是脚本3./path/to/script/interpreter是脚本解释器的全路径名. 例如:#!/bin/sh shell脚本#!/usr/bin/perl perl脚本#!/usr/bin/python python脚本#!/usr/bin/python2 python2脚本#!/usr/bin/python3

Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用

#!/usr/bin/python 是用来说明脚本语言是python的 是要用/usr/bin下面的程序(工具)python,这个解释器,来解释python脚本,来运行python脚本的. PY文件当中是不支持中文的,即使你输入的注释是中文也不行,为了解决这个问题,就需要把文件编码类型改为UTF-8的类型,输入这个代码就可以让PY源文件里面有中文了. 原文地址:https://www.cnblogs.com/wander-clouds/p/8451548.html

python中#!/usr/bin/env python与#!/usr/bin/python

通常在脚本语言的第一行会看到#!/usr/bin/env python 与 #!/usr/bin/python其中之一,这两句话的目的都是指出你的python文件用什么可执行程序去运行它. #!/usr/bin/python 是告诉操作系统执行这个脚本的时候,调用 /usr/bin 下的 python 解释器.这句代码是写死了python的路径的,即一定是找到/usr/bin下的解释器来运行程序,但假如用户并没有将python装在默认的 /usr/bin 路径里,那么系统操作脚本时就找不到解释器

PyCharm中脚本模板 #!/usr/bin/env python与#!/usr/bin/python

之前在设置脚本模板的时候,遇到这一点问题:看到有人设置成了#!/usr/bin/env python ,有的设置成了 #!/usr/bin/python .百度一下后,发现这两句都是指出你的python文件用什么可执行程序去运行它. 1.#!/usr/bin/python: 告诉操作系统执行这个脚本的时候,调用 /usr/bin 下的 python 解释器. 这句代码是写定了 python 的路径,即一定是找到 /usr/bin 下的解释器来运行程序.假如用户并没有将 python 装在默认的

/usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory

问题:当你执行yum 命令时提示如下错误:/usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory解决方法:上面的提示说明yum脚本没有找到python命令.只要找到python命令的路径,然后建立个软链接即可.如:sudo ln -s /usr/bin/python2.4 /usr/bin/pythonps:yum命令是用python脚本写的.打开yum脚本,你可以看到. /usr/bin/yum: /u

window下编写python脚本在linux下运行出错 usr/bin/python^M: bad interpreter: No such file or directory

今天在windows下使用notepad++写了个python脚本,传到linux服务器执行后提示:-bash: ./logger.py: usr/bin/python^M: bad interpreter: No such file or directory 1.原因分析 这是不同系统编码格式引起的:在windows系统中编辑的logger.py文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息.一般是因为windows行结尾和linux行结尾标识不同造成的,在window中行结