廖雪峰Python入门 QA收集

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                

变量名描述
PYTHONPATHPYTHONPATH是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找。
PYTHONSTARTUPPython启动后,先寻找PYTHONSTARTUP环境变量,然后执行此文件中变量指定的执行代码。
PYTHONCASEOK加入PYTHONCASEOK的环境变量, 就会使python导入模块的时候不区分大小写。
PYTHONHOME另一种模块搜索路径。它通常内嵌于的PYTHONSTARTUP或PYTHONPATH目录中,使得两个模块库更容易切换。
    原文作者:python入门
    原文地址: https://my.oschina.net/Jr413/blog/636419
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞