gpt4 book ai didi

python - `python file.py` 和 `python -m file` 之间的区别

转载 作者:行者123 更新时间:2023-12-05 02:09:31 24 4
gpt4 key购买 nike

在 python3 中:

  • 调用python path/to/file.pypython -m path.to.file ?

  • 它如何影响工作目录? ( os.getcwd() )

  • 它是否与 __init__.py 的存在/不存在有联系文件位于 path/to ?

令我惊讶的是,我在这些问题上发现的信息如此之少。也许我没有使用正确的术语进行搜索?提前致谢!

最佳答案

What is the difference between calling python path/to/file.py and python -m path.to.file ?

Python -m module_name 是调用特定模块的快捷方式。通常这是一个已安装的包,里面有一个 __main__.py 模块。 (例如 python -m pip 调用 pip/__main__.py

所以 python -m pip 等同于 python path/to/my/python/lib/site-packages/pip/__main__.py

How does it affect the working directory ? ( os.getcwd() )

没有

Does it have a link with the presence / absence of an init.py file located in path/to ?

首先:可能有一些混淆值得澄清:python -m 没有将路径作为参数。它需要执行模块的名称

所以,简短的回答:不。

长答案:模块如何通过 python -m 按名称执行取决于它是否是一个包。 __init__.py 的存在可以表示目录是包的名称,就像 pip 一样,因此它将在包内查找 __main__

关于python - `python file.py` 和 `python -m file` 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59742835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com