Python 学习笔记03-python文件第一行为什么要写#!/usr/bin/local/bin/python(usr/bin/env python)
2019-03-11 17:50
239 查看
我们知道在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或者其他地方);如果不是的话,这种可移植性也就无从谈起了。
“欢迎大家相互关注,一起学习,一起交流。python确实是一把利器,帮助我们完成属于自己的‘宏图伟业’”
相关文章推荐
- "#!/usr/bin/env python" vs "#!/usr/local/bin/python" -- 你造python文件第一行的三种写法吗?
- 为什么python文件前边必须写上#!/usr/bin/python #;或者#!/usr/bin/ env python -*- coding: UTF-8 -*-这两段注释
- Python学习笔记之疑问 5:#!/usr/bin/env python 是什么意思
- ubuntu18.04创建虚拟环境时提示bash: /usr/local/bin/virtualenvwrapper.sh: 没有那个文件或目录 的解决办法
- /usr/bin/env: "python\r": 没有那个文件或目录
- #/usr/bin/env python and #!/usr/local/bin/python
- 关于python脚本第一行#! /usr/bin/env python
- Python文件头部的#!/usr/bin/env python 是什么意思
- /usr/local/bin/python2.7^M: bad interpreter: 没有那个文件或目录
- SAP BW平面文件创建信息立方体(信息块)——视频学习笔记03
- Python 学习笔记【文件对象】
- Python学习笔记-清除项目下SVN文件
- python学习笔记——文件
- Python 学习笔记——文件对象和操作
- 自己安装的php环境不在执行文件不再默认的全局执行目录/usr/local/bin中,
- #!/usr/bin/env python与#!/usr/bin/python的区别
- Python学习笔记(三):文件和目录工具
- Python学习笔记 03 Python对象
- Python学习笔记--文件操作
- Python核心编程--学习笔记--9--文件和输入输出