最近发现 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.platlibdirPYTHONCASEOK: 在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