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

liftword2个月前 (03-05)技术文章14

作为 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,当然不满足需求了。...

入门必学25个python常用命令

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

Python 基础教程十之设置cron作业在bash sh文件中执行python脚本

简介在上一节中,我们介绍了使用cron作业定时执行python脚本。这一节我们介绍使用bash sh文件执行批量python脚本。先回顾一下cron内容:设置cron作业是一种在Linux系统中定时执...

Python 42个基本命令,开启编程新世界大门

一文带你吃透 Python 42 个基本命令,小白必看!作为一名编程界的 “老司机”,我深知 Python 在编程领域的重要地位。它就像一把万能钥匙,能开启无数扇通往不同应用领域的大门,无论是数据分析...

python散装笔记——109: 解释器(命令行控制台)

1: 获得一般帮助如果在控制台中调用 help 函数而不带任何参数,Python 就会显示一个交互式帮助控制台,您可以在其中找到有关 Python 模块、符号、关键字等的信息。>>>...

Python实现轻量级数据库引擎(续)——新增“事务功能”

喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。前期基础教程:「Python3.11.0」手把手教你安装最新版Python运行环境讲讲Python环境使用Pip命令快速下载各类库...