Python 命令行选项参数用于在运行 Python 程序时向程序传递信息。这些参数可以用于各种目的,主要包括控制程序行为。
Python 命令行
用法
python [option] ... [-c cmd | -m mod | file | -] [arg] ...
选项
- -b :针对将字节对象 (
bytes_instance
) 或字节数组对象 (bytearray_instance
) 转换为字符串 (str
) 以及比较字节/字节数组与字符串的行为发出警告。(-bb
:则会产生错误) - -B :导入模块时不写入
.pyc
文件;也等同于设置环境变量PYTHONDONTWRITEBYTECODE=x
- -c cmd:将代码作为字符串传入并执行程序(终止选项列表)
- -d :开启解析器调试输出(仅供专家使用,仅在调试版本中工作);也等同于设置环境变量
PYTHONDEBUG=x
- -E :忽略
PYTHON*
环境变量(例如PYTHONPATH
) - -h :打印此帮助信息并退出程序(也等同于
-?
或--help
) - -i :运行脚本后进入交互式模式;即使标准输入看起来不是终端,也会强制显示提示符;也等同于设置环境变量
PYTHONINSPECT=x
- -I :隔离 Python 运行环境(包含
-E
和-s
的功能) -m
mod
:将库模块作为脚本运行(终止选项列表)。- -O :移除
assert
和依赖于__debug__
的语句;在.pyc
文件扩展名前添加.opt-1
;也等同于设置环境变量PYTHONOPTIMIZE=x
- -OO :执行
-O
的操作,并丢弃文档字符串;在.pyc
文件扩展名前添加.opt-2
- -P :不向
sys.path
添加可能不安全的路径;也等同于设置环境变量PYTHONSAFEPATH
- -q:交互式启动时不打印版本和版权信息
- -s :不将用户站点目录添加到
sys.path
;也等同于设置环境变量PYTHONNOUSERSITE
- -S :初始化时不隐式导入
site
模块 - -u :强制标准输出和标准错误流为非缓冲模式;此选项对标准输入无效;也等同于设置环境变量
PYTHONUNBUFFERED=x
- -v :详细模式(跟踪导入语句);也等同于设置环境变量
PYTHONVERBOSE=x
,可多次使用以增加详细等级 - -V :打印 Python 版本号并退出程序(也等同于
--version
);使用两次可打印更多关于编译的信息 - -W arg :警告控制;
arg
是操作:消息:类别:模块:行号 的形式;也等同于设置环境变量PYTHONWARNINGS=arg
- -x :跳过源代码的第一行,允许使用非 Unix 形式的
#!cmd
- -X opt:设置实现特定的选项
额外的帮助信息选项:
- --check-hash-based-pycs always|default|never :控制 Python 如何使基于哈希的
.pyc
文件失效 - --help-env:打印有关 Python 环境变量的帮助信息并退出
- --help-xoptions :打印有关实现特定
-X
选项的帮助信息并退出 - --help-all:打印完整的帮助信息并退出
参数:
- file:从脚本文件中读取程序
- -:从标准输入读取程序(默认;如果是终端则进入交互模式)
- arg ... :传递给程序的参数,存储在
sys.argv[1:]
中