**
1、 官方文档
**
-m: run library module as a script(将模块当作脚本运行)
2、解释
在 python 中,所谓的模块
,其实也是一个由代码组成的普通脚本文件
。这些文件通常会提供一些有用的东西,例如函数或者类,然后我们通过 import <module> 导入使用
,而且当我们引入模块的时候,不会产生副作用。但实际上如果我们在 shell 中直接运行这个脚本文件,很有可能会看到有副作用产生。在文件内部,我们一般通过下面的代码来区分当前脚本,是作为模块导入,还是作为脚本直接运行(这其实就是再python脚本文件末尾的 if name=‘main’ 的作用。)
if __name__ == '__main__':
print('模块直接运行');
当文件作为脚本
直接运行时,这段代码会产生副作用,输出字符串“模块直接运行”
;
当文件作为模块被导入时,不会产生副作用,不
输出字符串“模块直接运行”;
回到正题,当我们知道一个模块的名字,但不知道它的路径时,我们可以通过 -m 参数,在 shell 中将该模块当作脚本运行
,例如:
python -m module_name
事实上,如果我们知道模块的完整路径
(此处假设为"/home/Desktop/module.py"),上述命令的效果,以下面的命令等同:
python /home/Desktop/module.py
本文在书写的过程中,参考了大佬的博客,链接如下:
链接:https://www.jianshu.com/p/323fc9a1d7d2