在 python tutorial 中,我看到这样一句话:
The __init__.py files are required to make Python treat the directories as containing packages;
我在 pycharm 中像这样设置了文件目录的层次,其中 subdir1
没有 __init__.py
,而 subdir2
有__init__.py
。在 hello1.py
和 hello2.py
中,我都写了一个 hello
函数,然后从位于 subdir3
目录下的两个 test 程序中调用 hello
函数,结果都成功运行了。是不是意味着有没有 __init__.py
作用一样?都可以被位于其他目录下的程序 import?
# test1.py
from subdir1 import hello1
hello1.hello()
# test2.py
from subdir2 import hello2
hello2.hello()
从Python 3.3开始就不需要了,
PEP 420
相关说明PEP 420链接:https://docs.python.org/3/wha...
参考:https://stackoverflow.com/que...