Python用法:命令行和环境

Python安装和用法(一):命令行和环境

 安装Python后,在命令行启动Python(windows环境下请参考 Python环境安装、测试)。
CPython解释器扫描命令行和各种设定的环境。CPython的实现细节:各种命令行实现细节可能不同,更多关于此问题的资源请访问其它实现.

命令行

 当你调用python(py)命令时,应该制定以下任何这些选项:

python [-bBdEhiIOqsSuvVWx?] [-c command | -m module-name | script | - ] [args]

 比如执行某个python脚本:

python myScript.py

 查看python版本:

python -V

界面选项

 Python解释器的界面跟UNIX shell界面很像,但是提供了额外的调用方式:
1. 使用标准输入连接tty设备时,解释器提示指令并执行它们直到EOF(文件结尾标识符,在UNIX环境下你可以使用Ctrl + D, 在windows环境下使用Ctrl + Z + Enter
2. 当调用一个文件名参数或将一个文件作为标准输入时,解释器会从该文件中读取并执行脚本
3. 当调用一个目录名称参数时,解释器会从该目录中读取并执行一个适当的命名脚本
4. 当调用-c 命令时,解释器将给定的python语句作为命令执行。这里的命令可能包含用换行符分隔开的多个语句,空格符在Python中是很重要的
5. 当调用-m 模块名时,给定模块位于Python模块路径和脚本执行

 在非交互模式中,在执行整个输入之前,将对其进行解析。
 在解释器的界面终端,所有可选项的参数列表最终归于sys.argv —-注意第一个参数,下标索引是0(sys.argv[0]),代表程序来源的字符串形式。

-c <命令> 
在命令行中执行Python代码。命令可以是一个或者换行符分割开来的多个Python语句,要求是正常的模块代码形式。
使用这个选项,sys.argv的第一个元素则为 -c ,并且当前目录将会添加到sys.path(允许目录中的模块通过inport作为顶层模块)的开头。

-m <模块名> 
sys.path中查找模块名,并作为__main__模块执行模块内容
由于参数模块名,所以你不能指定文件扩展名(.py). 模块名应该是有效的,但是也不强制要求。
包名称或者命名空间包都可以作为模块参数,如果包名作为参数,解释器将会把<pkg>.__main__作为主模块执行。这种方式应该慎用,另外还有将目录、压缩文件作为参数的方式。

注意:此选项不能用于内置模块和用C写的扩展模块,因为它们没有Python模块文件. 不管怎样,它仍然可以用于预编译的模块,即使源文件不可用
使用这个选项的时候,sys.argv 的第一个元素 “-m” 会作为模块的第一个元素,即使该模块是在本地。跟 -c 一样,该目录将会添加到sys.path的开头。
很多标准模块均包含调用它们自己作为脚本执行的代码。以下是一个 timeit 的模块示例:
python -mtimeit -s ‘setup here’ ‘benchmarked code here’
python -mtimeit -h # for details
版本变动:
3.1—-支持包名城
3.4—-支持命名空间包

- 
该命令用于从命令行终端接收输入,示例:
E:\python34>py -
Python 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 19:28:18) [MSC v.1600 32 bit (Intel)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.
>>>

通用选项

-? 
-h
–help
输出所有的命令行选项简单说明

-V 
–version
输出Python版本信息

混合选项

* 用不到的选项*

-J 
为Jython预留的选项

环境变量

 环境变量影响Python的行为。通过命令行重写环境变量会发生冲突.

环境变量名说明
PYTHONHOME指定Python根目录,用于指定Python标准库的文件位置
PYTHONPATH模块文件的默认搜索路径

Debug-mode 变量

 debug模式变量,当你使用选项--with-pydebug时就有用了。

变量名说明
PYTHONTHREADDEBUG如果设置了,则会打印线程的debug信息
PYTHONDUMPREFS如果设置了,在解释器关闭后会转储对象的引用计数
PYTHONMALLOCSTATS如果设置了,每次创建对象、销毁对象都会打印内存分配的统计情况
posted @ 2016-07-12 13:47  IT当时语_青山师  阅读(7)  评论(0编辑  收藏  举报  来源