廖雪峰Python入门 QA收集

余生颓废 提交于 2019-12-14 11:22:18

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

Q出处:

http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014316399410395f704750ee9440228135925a6ca1dad8000

直接运行py文件

能不能像.exe文件那样直接运行.py文件呢?在Windows上是不行的,但是,在Mac和Linux上是可以的,方法是在.py文件的第一行加上一个特殊的注释:

Q:为什么许多 python 文件的头部都会写上下面这一行

#!/usr/bin/env python3

A:

如果你用 python xxoo.py 来运行,那么写不写都没关系,如果要用 ./xxoo.py 那么就必须加这行,这行被称为      shebang, 用来为脚本语言指定解释器.

通常认为用 #!/usr/bin/env python 要比 #!/usr/bin/python 更好,因为 python 解释器有时并不安装在默认路径,例如在 virtualenv 中。


这是脚本语言共同遵守的规则:当第一行为 #!/path/to/script/interpreter时,指定了用来执行本脚本的解释器。

注意:

1、必须是文件的第一行

2、必须以#!开头,你丢了一个惊叹号

3、/path/to/script/interpreter是脚本解释器的全路径名。


例如:

#!/bin/sh           shell脚本

#!/usr/bin/perl     perl脚本

#!/usr/bin/python   python脚本

#!/usr/bin/python3  python3脚本

#!/usr/bin/python2  python2脚本


而有时不太清楚脚本解释器的具体全路径名;或者开发环境与运行环境的安装路径不同。为了保证兼容性,也可以写作:

#!/usr/bin/env python3

这样运行时会自动搜索脚本解释器的绝对路径。


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

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

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

#!/usr/bin/env python会去环境设置寻找python目录,推荐这种写法


#!/usr/bin/python 是一般默认的python解释器的路径, 所以这种的就是装在默认位置的不会出问题。

但是 #!/usr/bin/env python 则更加通用一些 会去你的PATH 中寻找python 。

Q出处:

http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143186362353505516c5d4e38456fb225c18cc5b54ffb000

Q:如何设置PYTHONPATH环境变量

A:  下面几个重要的环境变量,它应用于Python                

变量名 描述
PYTHONPATH PYTHONPATH是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找。
PYTHONSTARTUP Python启动后,先寻找PYTHONSTARTUP环境变量,然后执行此文件中变量指定的执行代码。
PYTHONCASEOK 加入PYTHONCASEOK的环境变量, 就会使python导入模块的时候不区分大小写。
PYTHONHOME 另一种模块搜索路径。它通常内嵌于的PYTHONSTARTUP或PYTHONPATH目录中,使得两个模块库更容易切换。



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!