Python 命令行工具 python 的常用参数执行命令

liftword1周前 (03-05)技术文章4

作为 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,可以更好地组织代码,避免直接运行脚本时可能遇到的路径问题。

到此为止,相信此文会让你更能专注于软件开发本身~还有,有需要补充的小伙伴一定告诉我,我补上~

爱学习的小伙伴,关注不迷路哟~

相关文章

python中执行shell命令的几个方法小结!很实用,帮助很大

最近有个需求就是页面上执行shell命令,第一想到的就是os.system,os.system('cat /proc/cpuinfo') 但是发现页面上打印的命令执行结果 0或者1,当然不满足需求了。...

如何在 Python 中执行外部命令 ?

Python 是一种强大的编程语言,可以帮助自动执行许多任务,包括在 Linux 系统上运行命令。在本指南的最后,您将能够使用 Python 轻松有效地执行 Linux 命令。使用 os 模块os 模...

Python 中的一些命令行命令

虽然 Python 通常用于构建具有图形用户界面 (GUI) 的应用程序,但它也支持命令行交互。命令行界面 (CLI) 是一种基于文本的方法,用于与计算机的操作系统进行交互并运行程序。从命令行运行 P...

入门必学25个python常用命令

以下是 Python 入门必学的 25 个常用命令(函数、语句等):基础输入输出与数据类型print():用于输出数据到控制台,例如print("Hello, World!")。input():获取用...

Python 基础教程 九之cron定时执行python脚本

前言在Linux或Unix系统中,你可以使用cron任务来定时执行Python脚本。cron是一个基于时间的作业调度器,允许你安排命令或脚本在系统上自动执行。安装cron大多数Linux发行版默认安装...