一分钟版本

>>> python xxx.py  # 直接运行
>>> python -m xxx # 相当于import,叫做当做模块来启动

主要区别在于sys.path不同

直接运行会将该脚本所在目录添加至sys.path
当做模块启动则会将当前运行命令的路径添加至sys.path

实际应用

假设我们有如下文件结构

package1/
    |--__init__.py
    |--mod1.py
package2/
    |--__init__.py
    |--run.py

run.py中import了mod1.py

# run.py
from package1 import mod1

>>> python run.py # 失败,提示找不到package1

# 切换到package2 所在目录
>>> python -m package2.run # 成功
参考

[python]自问自答:python -m参数?

相关文章:

  • 2022-01-29
  • 2022-12-23
  • 2022-03-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-03
  • 2022-12-23
  • 2021-09-04
  • 2021-04-02
  • 2021-05-19
  • 2021-04-04
  • 2021-12-01
相关资源
相似解决方案