-m选项在python中代表什么?

时间:2018-09-21 10:03:40

标签: python python-3.x command-line

创建虚拟环境时,我运行:

python3 -m venv env

我了解-m executes a module(在这种情况下为venv)。但是,-m标志实际上代表什么?

模块-m,还是 -m __main__

我找不到明确的解释。这是我调查过的一些资源:

2 个答案:

答案 0 :(得分:2)

在  1.1.1节  它清楚地表明-m是模块名称here

从文档中引用:

”“因为参数是模块名称,所以不能指定文件扩展名(.py)。模块名称应为有效的Python模块名称”

尽管-m在后​​端是任意的,但它是一个argparser,可以完成所有工作。

当使用-m module-name调用时,给定的模块位于Python模块路径上并作为脚本执行

还允许使用包装名称。当提供软件包名称而不是常规模块名称时,解释器将执行<pkg>.__main__ 并且我猜想main也是以'm'开头是偶然的。

答案 1 :(得分:1)

它运行-m之后的模块。参见the official documentation

文档中显示-m <module-name>以及“由于参数是模块名称...”,因此有理由假设“ m”代表模块。