Python 学习笔记03-python文件第一行为什么要写#!/usr/bin/local/bin/python(usr/bin/env python)

我们知道在python文件中#表示注释。如果放在第一行的话就有特殊的意义:因为操作系统使用它找到解释器来运行文件其他部分的程序代码。

在一些UNIX系统上,也许可以避免应变吗Python解释器的路径,而可以在文件特定的第一行注释中像这样写:

#!/usr/bin/env python

"""....script goes here...."""

这样编写代码的时候,env程序可以通过系统的搜索路径的设置(例如,在绝大多数的UNIX Shell中,通过搜索PATH环境变量中的罗列出的所有目录)定位Python解释器。这种方法可以使代码更具可以执性,因为没有必要在所有的代码中的第一行都应变吗Python的安装路径。

所以这样就可以得出以下两点结论:
1.windows下面点击Python文件可以直接运行的原因,这个命令行模式的是指类似于UNNIX #!。主题在windows上,有些程序实际上去解释并使用顶端的#!行,想UNIX那样。但是windows的DOS系统shell会完全忽略它。简而言之,就是windows点击运行会用到注释第一行,shell则会忽略它

2.这样也是python可以跨平台运行的原因之一。假设在任何地方都能够用env,无论python安装在系统的什么地方,你的脚本都能照样运行:跨平台工作时所需要做的仅仅是改变PATH环境变量,而不是脚本中的第一行。当然,这是env在任何系统中都有相同的路径的前提下(有些机器,还有可能在/sbin,/bin或者其他地方);如果不是的话,这种可移植性也就无从谈起了。

扫描二维码关注公众号,回复: 5497504 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_34608423/article/details/88399112