python -m 和 python 的区别
-m 的含义表示将库当作脚本来执行。
python file.py
正常的执行Python脚本似乎都是这个样子,甚至于有些小伙伴根本不晓得 -m
是个什么玩意。
在help 中对 -m
的解释为: 将文件看作脚本来执行。
什么叫当成脚本来执行呢?我们来看看
编写简单的测试脚本 bar.py
import sys print('sys.path len is %s.' % sys.path.__len__()) for path in sys.path: print(path)
然后分别执行看结果
python -m bar # bar !!!不是 bar.py 坑!!!
由此,第一行也就是最后添加进来的环境变量是空,空
代表的含义是当前文件夹。也就是你命令执行的目录
python bar.py
第一行为绝对路径,文件所在的目录。而不是脚本执行的目录。
注意
1 -m 参数 后面 不能跟 .py
相当于 import bar
2 -m 支持 .
语法 python -m http.server
启动 一个web服务器
PS:下面看下python -m的含义
1.简单说就是:执行某个模块下的文件
2.python -m后面参数的形式是模块名.文件名
可以将模块以脚本的方式运行。和python file.py的运行方式区别来看。
使用这个命令会在library path中搜索执行py文件,而不是只在current library。
3.在python参数说明中的解释为:
run library module as a script.
总结