Python命令行选项(flags)解析
在 Python 命令行中,像 -m
、-i
这类字符是 命令行选项(flags),用于控制 Python 解释器的行为。以下是常用选项的简明含义表,以及典型用法示例:
✅ 常用 Python 命令行选项速查表
选项 | 含义 | 示例 | 说明 |
---|---|---|---|
-m <module> | 以模块方式运行 | python -m http.server | 运行标准库模块,如启动简单 HTTP 服务 |
-i | 交互模式 | python -i script.py | 脚本执行完后进入交互式解释器 |
-c <cmd> | 执行字符串命令 | python -c "print(2**10)" | 无需脚本文件,直接运行代码 |
-V / --version | 查看版本 | python -V | 输出 Python 版本号 |
-h / --help | 查看帮助 | python -h | 列出所有可用选项 |
-O | 优化模式 | python -O script.py | 移除 assert 语句和 debug 代码 |
-OO | 更强优化 | python -OO script.py | 同时移除文档字符串(docstrings) |
-u | 无缓冲输出 | python -u script.py | 强制 stdout/stderr 无缓冲(常用于管道) |
-v | 冗余模式 | python -v | 输出模块导入等详细信息(调试用) |
-W arg | 控制警告 | python -W ignore script.py | 如忽略所有警告 |
-B | 不生成 .pyc | python -B script.py | 禁止生成字节码缓存文件 |
-s | 不添加 user site-packages | python -s | 忽略用户级包目录 |
-S | 不自动导入 site 模块 | python -S | 禁用 site-specific 配置 |
-E | 忽略环境变量 | python -E | 如 PYTHONPATH 等 |
🔍 示例详解
1. python -m http.server 8000
- 启动一个静态文件服务器,当前目录为根目录。
- 等价于运行
http.server
模块中的main()
函数。
2. python -i myscript.py
- 执行完
myscript.py
后,进入交互式 REPL。 - 方便调试脚本中定义的变量或函数。
3. python -c "import this"
- 直接运行一行 Python 代码,无需创建文件。
📌 小结口诀(记忆用)
“
-m
跑模块,-i
留交互,-c
直接跑,-u
无缓冲,-O
去断言,-V
看版本。”
如需查看 完整列表,可在终端输入:
python -h