我的目录结构是这样的:
root/
__init__.py
moduleA/
__init__.py # prints "hello"
myscript.py
如果我从 root
目录运行 python -m moduleA.myscript
,将打印出 hello
。但是,如果我从 moduleA
目录运行 python -m myscript
,它不会。
为什么执行python -m
时,当前目录下的__init__.py
没有被调用?
最佳答案
根据您的问题,我了解到 moduleA
中的 __init__.py
具有打印问候代码。
因此,当您从根目录执行时,__init__.py
文件将起作用。但是当你进入目录时。该文件将不起作用。
通过使用 python -m module
选项,它的工作方式与 python module.py
相同,仅此而已。
了解 __init__.py
关于python - 使用 -m 运行 python 脚本时,为什么不调用 __init__.py?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48682449/