Python命令行调用指南:如何指定选项并执行脚本
1.1.命令行

调用 Python 时,您可以指定以下任意选项:
python [-bBdEiOQsRStuUvVWxX3?] [-c command | -m module-name | script | - ] [args]
当然,最常见的用例是简单地启动脚本:
python myscript.py
1.1.1.接口选项
解释器接口与 UNIX shell 类似,但提供了一些额外的方法来启动调用:
在非交互模式下,所有输入在执行之前都会被解析。
接口选项将终止解释器读取的选项列表,并且所有后续参数将被放入 - 请注意,第一个元素,第零项(sys.argv[0])将是表示程序源的字符串。
-c
执行命令中的Python代码。命令可以是一个或多个以换行符分隔的语句,其中前导空格与普通模块代码具有相同的效果。
如果给出此选项,则第一个元素将为“-c”,并且当前目录将添加到开头(以允许该目录中的模块作为顶级模块导入)。
-m
搜索具有指定名称的模块并将其内容作为模块执行。
由于参数是模块名称,因此不能给出文件扩展名 (.py)。 module-name 应该是有效的 Python 模块名称,但实现可能并不总是强制执行此操作(例如,它可能允许您使用包含连字符的名称)。
包名称也是允许的。当提供包名称而不是普通模块时,解释器将执行
.__main__ 作为主模块。此行为故意类似于作为 script 参数传递给解释器的目录和 zip 文件的处理。
注解
此选项不适用于用 C 编写的内置模块和扩展模块,因为它们没有相应的 Python 模块文件。但即使没有可用的初始源文件,它仍然适用于预编译模块。
如果给出此选项,则第一个元素将是模块文件的完整路径。与该选项一样,当前目录将添加到 的开头。
许多标准库模块包含作为脚本执行时调用的代码。模块就是这样的一个例子:
python -mtimeit -s 'setup here' 'benchmarked code here' python -mtimeit -h # for details
看
可直接由 Python 代码使用的等效功能
PEP 338 – 将模块作为脚本执行
2.4 新功能。
版本 2.5 中的更改:命名模块现在可以位于包内。
在版本 2.7 中更改:提供包名称来运行 __main__ 子模块。sys.argv[0] 现在在搜索模块时设置为“-m”(之前错误地设置为“-c”)
从标准输入()读取命令。如果标准输入是终端则使用。
如果给出此选项,则第一个元素将为“-”,并且当前目录将添加到开头。
看
可直接由 Python 代码使用的等效功能