Python 命令行工具 python 的常用参数执行命令
作为 Python 的初学者,最不缺见的就是命令行工具 python 的执行命令了,每每遇到就可能去查资料帮助,同样,自己也会不时的需要某些执行命令来完成自己的需求,鉴于此我对 python 工具的执行命令做了汇总,方便小伙伴们使用。
其中会着重的介绍 python -m 相关的使用。
1. 下面就逐一展开
1.1. 运行脚本
python script.py
直接运行一个 Python 脚本。
1.2. 交互模式
python -i script.py
运行脚本后进入交互模式,方便调试和查看变量。
1.3. 执行单行代码
python -c "print('Hello, World!')"
直接在命令行中执行单行 Python 代码。
1.4. 查看 Python 版本
python -V
python --version
查看当前 Python 解释器的版本。
1.5. 查看帮助
python -h
python --help
查看 Python 命令行参数的帮助信息。
1.6. 优化模式
python -O script.py
启用基本优化模式,会忽略 assert 语句和 __debug__ 为 False 的代码块。
python -OO script.py
启用更高级的优化模式,除了 -O 的功能外,还会删除文档字符串。
1.7. 检查语法
python -m py_compile script.py
检查脚本的语法是否正确,但不执行。
1.8. 生成字节码
python -m compileall .
将当前目录下的所有 .py 文件编译为 .pyc 字节码文件。
1.9. 忽略环境变量
python -E script.py
忽略所有 PYTHON* 环境变量(如 PYTHONPATH)。
1.10. 禁止用户站点目录
python -s script.py
禁止自动导入用户站点目录中的模块。
1.11. UTF-8 模式
python -X utf8 script.py
强制使用 UTF-8 编码模式。
1.12. 打印 Python 路径
python -S script.py
打印 Python 的模块搜索路径。
1.13. 从标准输入读取
echo "print('Hello')" | python
从标准输入读取 Python 代码并执行。
1.14. 禁用缓存
python -B script.py
禁止生成 .pyc 缓存文件。
1.15. 警告控制
python -W ignore script.py
控制警告信息的显示,ignore 表示忽略所有警告。
1.16. 虚拟环境
python -m venv myenv
创建一个名为 myenv 的虚拟环境。
OK,以上是 Python 命令行工具的一些常用参数命令,适用于不同的场景和需求。
2. 接下来,着重的介绍 python -m 相关的使用
python -m 是 Python 命令行工具中非常强大的一个功能,它允许你将一个模块作为脚本运行。以下是 python -m 的详细用法和常见场景:
2.1. 基本用法
python -m module_name
- 这里的 module_name 是一个 Python 模块(可以是标准库模块或自定义模块)。
- Python 会查找该模块并执行它。
2.2. 常见场景
(1) 运行标准库模块
Python 标准库中的许多模块可以直接通过 python -m 运行。例如:
- 启动一个简单的 HTTP 服务器:
python -m http.server
默认监听端口为 8000,可以通过浏览器访问 http://localhost:8000。
- 运行单元测试:
python -m unittest discover
自动发现并运行当前目录下的所有测试用例。
- 格式化代码:
python -m black script.py
使用 black 模块格式化代码。
- 启动本地邮件服务器:
python -m smtpd -n -c DebuggingServer localhost:1025
用于调试邮件发送功能。
- 压缩文件:
python -m zipfile -c archive.zip file1 file2
使用 zipfile 模块创建压缩文件。
(2) 运行自定义模块
如果你有一个自定义模块(例如 mymodule.py),可以通过 python -m 运行它:
python -m mymodule
- 注意:模块名不需要加 .py 后缀。
- Python 会根据 sys.path 查找模块。
(3) 运行包中的模块
如果你的模块在一个包中(例如 mypackage/mymodule.py),可以这样运行:
python -m mypackage.mymodule
- 确保包的目录结构正确,并且包含 __init__.py 文件。
(4) 运行内置工具
Python 提供了一些内置工具,可以通过 python -m 使用:
- 查看模块文档:
python -m pydoc module_name
例如:python -m pydoc os 查看 os 模块的文档。
- 启动交互式帮助:
python -m pydoc -p 8080
启动一个本地文档服务器,访问 http://localhost:8080 查看文档。
- 性能分析:
python -m cProfile script.py
使用 cProfile 模块分析脚本性能。
- 调试模式:
python -m pdb script.py
使用 pdb 模块调试脚本。
(5) 运行第三方模块
许多第三方模块也可以通过 python -m 运行。例如:
- 安装 pip:
python -m ensurepip
确保 pip 已安装。
- 升级 pip:
python -m pip install --upgrade pip
- 运行 Jupyter Notebook:
python -m notebook
- 运行 Flask 应用:
python -m flask run
2.3. 与直接运行脚本的区别
- 直接运行脚本:
python script.py
这种方式会直接执行脚本文件。
- 使用 python -m:
python -m script
这种方式会将脚本作为一个模块运行,Python 会将其添加到 sys.path 中,适合需要模块化运行的场景。
2.4. 高级用法
(1) 运行包中的 __main__.py
如果一个包中包含 __main__.py 文件,可以直接运行整个包:
python -m mypackage
Python 会自动执行 mypackage/__main__.py。
(2) 调试模块导入
使用 python -m 可以更方便地调试模块导入问题:
python -m module_name
这种方式会确保模块的导入路径正确。
(3) 运行虚拟环境中的模块
在虚拟环境中,python -m 可以确保使用虚拟环境中的 Python 解释器和模块:
python -m pip install requests
2.5. 对 python -m 做一下小结
python -m 是一个非常灵活的工具,适用于以下场景:
- 运行标准库模块。
- 运行自定义模块或包。
- 运行第三方模块。
- 调试模块导入问题。
- 启动内置工具(如 pydoc、pdb 等)。
通过 python -m,可以更好地组织代码,避免直接运行脚本时可能遇到的路径问题。
到此为止,相信此文会让你更能专注于软件开发本身~还有,有需要补充的小伙伴一定告诉我,我补上~
爱学习的小伙伴,关注不迷路哟~