Loading

为什么是 Python -m ?

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服务器

posted @ 2020-06-18 22:29  StKali  阅读(1107)  评论(0编辑  收藏  举报