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

今天又是贼几把菜的一天0.0

读别人程序的时候看到在python文件头部设置签名,感觉贼几把酷,自己也试着在文件前段设置了一下。

设置还是蛮简单的,设置过程如图所示。

设置后如图所示:

当然你也可能看到有的人在文件头部添加如下语句,但是你并不知道什么意思,只是感觉很酷。

#!/usr/bin/python
#!/usr/bin/env python

首先需要说明:
这句代码在unix类的操作系统才有意义!
这句代码在unix类的操作系统才有意义!
这句代码在unix类的操作系统才有意义!

这句话的目的是告诉操作系统使用哪个Python解释器来执行这个py文件。

在linux上执行一下命令 /usr/bin/env python ,就知道这行其实是call一下python解释器.

这句话的一般有两种形式:

1. #!/usr/bin/python
#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器。

2. #!/usr/bin/env python
#!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。

当系统看到这一行的时候,首先会到env设置(环境变量)里查找python的安装路径,再调用对应路径下的解释器程序完成操作。

如何选择
一般情况下,使用第2种方法#!/usr/bin/env python更好。

因为#!/usr/bin/python限定了Python解释器必须在/usr/bin/python这个路径下,如果不在运行就出出错。

而#!/usr/bin/env python是从环境变量设置中查询Python解释器的路径,这种方法更加灵活。

我也是在VScode中跑python,因为带有#!/usr/bin/env python所以报错,然后发现0.0这是一句命令而不是简简单单的签名

菜还是我菜啊0.0

原文地址:https://www.cnblogs.com/baobaotql/p/11650700.html

时间: 2024-10-10 02:03:54

关于python脚本头部设置#!/usr/bin/python的相关文章

关于python脚本开头设置

为什么需要在python脚本开头加上#!/usr/bin/env python? 建议加上#!/usr/bin/env python,而非#!/usr/bin/python. 因为加上#!/usr/bin/env python,并且文件具有执行权限是,系统会把script识别为可执行文件,可以直接通过文件名执行该文件,而不用使用python ./文件名 执行该文件: 为什么不使用#!/usr/bin/python?因为python不一定安装到此目录,使用#!/usr/bin/env python

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 装在默认的

【转载】关于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

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中行结

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的区别——转载

转载自:http://blog.csdn.net/wh_19910525/article/details/8040494 作者:wh_19910525 脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它,就这么简单 #!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器:#!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里.当系统看到这一行

#!/usr/bin/env python与#!/usr/bin/python的区别

[摘自:http://blog.csdn.net/wh_19910525/article/details/8040494] 一般的python文件的开头都有#!/usr/bin/python.这是什么意思呢? #!/usr/bin/Python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器:#!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里.当系统看到这一行的时候,首先会到env设置里查找pyt

"#!/usr/bin/python: No such file or director"引发的编码问题

问题描述 我自己写了一个Python脚本,在Linux服务器和我的Mac上运行都报错: ./build_system.py: line 1: #!/usr/bin/python: No such file or directory 在网上搜索了半天,发现都说都问题原因是第一行尾部写入了Windows都回车"\r\n",导致解析成了"python\r"而不是"python",因而报错是": No such file or director

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 路径里,那么系统操作脚本时就找不到解释器