整体说明
在 Python 中,
-m参数是一个非常有用的工具,它允许你将模块作为脚本运行,并且可以处理复杂的包结构。无论是运行标准库模块、自定义模块,还是与包结合使用,-m参数都能简化操作。它的基本语法如下:1
python -m module_name
其中,
module_name是你要运行的模块名(不包含.py后缀)。Python 会在sys.path中查找该模块,并执行它
运行标准库模块
-m参数常用于运行 Python 标准库中的模块。例如:1
python -m http.server
这会启动一个简单的 HTTP 服务器,默认监听在
8000端口。http.server是 Python 标准库中的一个模块,-m参数让 Python 将其作为脚本运行
运行自定义模块
你也可以使用
-m参数运行自定义模块。假设你有一个项目结构如下:1
2
3
4my_project/
my_module/
__init__.py
main.py你可以在
my_project目录下运行以下命令:1
python -m my_module.main
这会执行 my_module/main.py 文件中的代码
运行包中的模块
如果模块位于包中,
-m参数会自动处理包的导入路径。例如:1
python -m package.subpackage.module
这会执行
package/subpackage/module.py文件中的代码
与 __main__.py 结合使用
如果你有一个包,并且希望在运行包时执行特定的代码,可以在包目录下创建一个
__main__.py文件。例如:1
2
3
4my_package/
__init__.py
__main__.py
other_module.py在
__main__.py中编写你想要执行的代码,然后运行:1
python -m my_package
- Python
这会执行
my_package/__main__.py文件中的代码
与 python -c 结合使用
-m参数也可以与-c参数结合使用,直接在命令行中运行模块。例如:1
python -c "import os; print(os.getcwd())" -m http.server
- 注:
python -c "print('hello')"常常用来执行一个Python命令且不需要创建文件
- 注: