Python --help-all的完整翻译

73 阅读5分钟

最近发现 python -X importtime .py 可以看导入的时间。我觉得python的命令还挺有用。借助工具翻译了一下 这是 Python --help-all 命令输出的完整翻译:

用法

D:\worksoft\python\python312\python.exe [选项] ... [-c 命令 | -m 模块 | 文件 | -] [参数] ...

选项(及对应的环境变量)

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

参数

  • 文件 : 从脚本文件读取程序
  • - : 从标准输入读取程序(默认;如果是 tty 则为交互模式)
  • 参数 ... : 传递给程序中 sys.argv[1:] 的参数

改变行为的环境变量

  • PYTHONSTARTUP : 交互式启动时执行的文件(无默认值)
  • PYTHONPATH : 以 ; 分隔的目录列表,会前置到默认模块搜索路径前,结果保存在 sys.path
  • PYTHONHOME : 替代的 <prefix> 目录(或 <prefix>;<exec_prefix>)。默认模块搜索路径使用 <prefix>\python{major}{minor}
  • PYTHONPLATLIBDIR : 覆盖 sys.platlibdir
  • PYTHONCASEOK : 在 import 语句中忽略大小写(Windows)
  • PYTHONIOENCODING : 用于标准输入/输出/错误流的编码 [:errors]
  • PYTHONHASHSEED : 如果此变量设置为 'random',则使用随机值作为字符串和字节对象哈希的种子。也可以设置为 [0,4294967295] 范围内的整数以获得可预测种子的哈希值
  • PYTHONMALLOC : 设置 Python 内存分配器和/或在 Python 内存分配器上安装调试钩子。使用 PYTHONMALLOC=debug 安装调试钩子
  • PYTHONCOERCECLOCALE : 如果此变量设置为 0,则禁用区域设置强制行为。使用 PYTHONCOERCECLOCALE=warn 请求在标准错误流上显示区域设置强制和区域设置兼容性警告
  • PYTHONBREAKPOINT : 如果此变量设置为 0,则禁用默认调试器。可以设置为所选调试器的可调用对象

这些变量有等效的命令行选项(详见 --help)

  • PYTHONDEBUG : 启用解析器调试模式 (-d)
  • PYTHONDEVMODE : 启用 Python 开发模式 (-X dev)
  • PYTHONDONTWRITEBYTECODE : 不写入 .pyc 文件 (-B)
  • PYTHONFAULTHANDLER : 在致命错误时转储 Python 回溯 (-X faulthandler)
  • PYTHONINSPECT : 运行脚本后交互式检查 (-i)
  • PYTHONINTMAXSTRDIGITS : 限制整数与字符串转换的大小;0 表示禁用限制 (-X int_max_str_digits=N)
  • PYTHONNODEBUGRANGES : 不在代码对象中包含额外的位置信息 (-X no_debug_ranges)
  • PYTHONNOUSERSITE : 禁用用户站点目录 (-s)
  • PYTHONOPTIMIZE : 启用级别 1 优化 (-O)
  • PYTHONPERFSUPPORT : 支持 Linux "perf" 分析器 (-X perf)
  • PYTHONPROFILEIMPORTTIME : 显示每个导入的耗时 (-X importtime)
  • PYTHONPYCACHEPREFIX : 字节码缓存 (pyc) 文件的根目录 (-X pycache_prefix)
  • PYTHONSAFEPATH : 不向 sys.path 前置可能不安全的路径
  • PYTHONTRACEMALLOC : 跟踪 Python 内存分配 (-X tracemalloc)
  • PYTHONUNBUFFERED : 禁用标准输出/错误缓冲 (-u)
  • PYTHONUTF8 : 控制 UTF-8 模式 (-X utf8)
  • PYTHONVERBOSE : 跟踪导入语句 (-v)
  • PYTHONWARNDEFAULTENCODING : 为 encoding=None 启用选择加入的编码警告 (-X warn_default_encoding)
  • PYTHONWARNINGS : 警告控制 (-W)

以下实现特定的选项可用

  • -X dev : 启用 Python 开发模式;对应 PYTHONDEVMODE
  • -X faulthandler : 在致命错误时转储 Python 回溯;对应 PYTHONFAULTHANDLER
  • -X frozen_modules=[on|off] : 是否使用冻结模块;对于已安装的 Python 默认为 "on",对于本地构建默认为 "off"
  • -X importtime : 显示每个导入的耗时;对应 PYTHONPROFILEIMPORTTIME
  • -X int_max_str_digits=N : 限制整数与字符串转换的大小;0 表示禁用限制;对应 PYTHONINTMAXSTRDIGITS
  • -X no_debug_ranges : 不在代码对象中包含额外的位置信息;对应 PYTHONNODEBUGRANGES
  • -X perf : 支持 Linux "perf" 分析器;对应 PYTHONPERFSUPPORT=1
  • -X pycache_prefix=PATH : 将 .pyc 文件写入并行树而不是代码树;对应 PYTHONPYCACHEPREFIX
  • -X showrefcount : 在程序结束时或在交互式解释器中的每条语句后输出总引用计数和使用的内存块数;仅在调试版本中有效
  • -X tracemalloc[=N] : 跟踪 Python 内存分配;N 设置回溯限制为 N 帧(默认:1);对应 PYTHONTRACEMALLOC=N
  • -X utf8[=0|1] : 启用 (1) 或禁用 (0) UTF-8 模式;对应 PYTHONUTF8
  • -X warn_default_encoding : 为 encoding=None 启用选择加入的编码警告;对应 PYTHONWARNDEFAULTENCODING