python -m 参数释义

官方文档

-m: run library module as a script(将模块当作脚本运行)

解释

在 python 中,所谓的模块,其实也是一个由代码组成的普通脚本文件。这些文件通常会提供一些有用的东西,例如函数或者类,然后我们通过 import <module> 导入使用,而且当我们引入模块的时候,不会产生副作用。但实际上如果我们在 shell 中直接运行这个脚本文件,很有可能会看到有副作用产生。在文件内部,我们一般通过下面的代码来区分当前脚本,是作为模块导入,还是作为脚本直接运行。

if __name__ == '__main__':
    print('模块直接运行');

当文件作为脚本直接运行时,这段代码会产生副作用,输出字符串“模块直接运行”;
当文件作为模块被导入时,不会产生副作用,不输出字符串“模块直接运行”;

回到正题,当我们知道一个模块的名字,但不知道它的路径时,我们可以通过 -m 参数,在 shell 中将该模块当作脚本运行,例如:

python -m module_name

事实上,如果我们知道模块的完整路径(此处假设为"/path/to/module.py"),上述命令的效果,以下面的命令等同

python /path/to/module.py
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,883评论 0 10
  • 模块和包 一 模块 1 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是...
    go以恒阅读 2,309评论 0 4
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,521评论 0 5
  • 一分一秒不能等,现在就走。 走在民俗村的广场上,气得说不出话来。 吃完免费的尴尬的晚饭后,天色已暗。 凉飕飕的,披...
    非有先生阅读 368评论 0 4
  • 今天罗总让我们定目标,我定了30万,发现好多新同事也定了30万,自己没有觉得不好意思,因为我认为这30万不是随便说...
    洪兴Yoga阅读 275评论 0 0