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的功能) -mmod:将库模块作为脚本运行(终止选项列表)。- -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:]中