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

问题描述 投票:-1回答:2

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

python3 -m venv env

我明白qazxsw poi qazxsw poi(在这种情况下是qazxsw poi)。但是,-m旗帜实际上代表什么?

是模块的executes a module,还是venv-m

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

  • -m
  • -m
  • __main__
python python-3.x command-line
2个回答
2
投票

在第1.1.1节中,它清楚地说https://docs.python.org/2/using/cmdline.html#cmdoption-m是模块名称,https://www.python.org/dev/peps/pep-0547/

引用文档:

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

虽然Execution of Python code with -m option or not是任意的,因为在后端它是一个argparser做所有的工作。

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

包名称也是允许的。当提供包名而不是普通模块时,解释器将执行-m而且我猜here也以'm'开头是巧合。


1
投票

它运行-m之后的模块。见<pkg>.__main__

文档说main,以及“因为参数是一个模块名称......”,所以假设“m”代表模块是有道理的。

© www.soinside.com 2019 - 2024. All rights reserved.