说我具有以下文件夹结构:
|-- some_package/
|-- __init__.py
|-- some_module.py
|-- some_module/
|-- __init__.py
在some_package / some_module.py文件中,我具有以下内容:
print('this is some_module.py')
在文件some_package / some_module / init .py中,我具有以下内容:
print('this is some_module/__init__.py')
现在,如果启动ipython并发出导入命令:
import some_module
我看到以下输出:
这是some_module / __ init __。py
表示已执行__init__.py软件包,而不是some_module.py。
我的问题是: 1.这是定义的行为吗?与“模块”导入相比,它总是会首选“包”导入吗? 2.该文件记录在任何地方吗?我浏览了python import system docs,但没有找到。
关于我为什么要知道,我只是在问一个朋友:)