美文网首页
【蜗牛黑板报】python脚本

【蜗牛黑板报】python脚本

作者: 技术是神奇的 | 来源:发表于2020-06-19 14:20 被阅读0次

Python之#!/usr/bin/python到底是什么意思

关于脚本第一行的#!/usr/bin/python的解释,相信很多不熟悉 Linux 系统的同学需要普及这个知识,脚本语言的第一行,只对 Linux/Unix 用户适用,用来指定本脚本用什么解释器来执行。

有这句的,加上执行权限后,可以直接用./ 执行,不然会出错,因为找不到 python 解释器。

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

#!/usr/bin/env python 这种用法是为了防止操作系统用户没有将 python 装在默认的 /usr/bin 路径里。当系统看到这一行的时候,首先会到 env 设置里查找 python 的安装路径,再调用对应路径下的解释器程序完成操作。

#!/usr/bin/python相当于写死了 python 路径。

#!/usr/bin/env python会去环境设置寻找 python 目录,可以增强代码的可移植性,推荐这种写法。

分成两种情况:

(1)如果调用 python 脚本时,使用:

python script.py

也可以直接运行 python 解释器,将脚本文件的名字作为参数传递给 python,如下所示:

/usr/bin/python script.py

通过这两种方式运行脚本,脚本开头的#!/usr/bin/python 被忽略,等同于注释

(2)如果调用python脚本时,使用:

./script.py

#!/usr/bin/python 指定解释器的路径。

脚本的运行,需要是需要给脚本添加可执行权限

chmod +x ./script.py

chmod +x表示给 script.py增加执行权限

./表示当前目录,整条命令的意思是执行当前目录下的 script.py 脚本。如果不写./,Linux 会到系统路径(由 PATH 环境变量指定)下查找script.py,而系统路径下显然不存在这个脚本,所以会执行失败。

通过这种方式运行脚本,脚本文件第一行的#!/usr/bin/env python一定要写对,好让系统查找到正确的解释器。

注:

1)#! 这个只是一个约定的标记

2)#开头的及其后面的内容是注释(当然以#!开头的除外)

PS:shell 脚本中在第一行也有类似的声明。

相关文章

网友评论

      本文标题:【蜗牛黑板报】python脚本

      本文链接:https://www.haomeiwen.com/subject/acowxktx.html