Python 中的 __init__.py
Shivam Arora
2021年10月2日
在 Python 中,有两种类型的包,称为常规包和命名空间包。常规包存在于 Python 3.2 和以前的版本中。这些包用作包含 __init__.py
文件的目录,该文件被隐式调用或执行。
Python 中的 __init__.py
文件让解释器知道一个目录包含模块中的 Python 代码。此文件可以具有与任何其他 Python 模块相同的代码。
名为 __init__.py
的文件用于将目录标记为 Python 包。
例如,
mydir/spam/__init__.py
mydir/spam/module.py
如果删除该文件,Python 将无法在目录中搜索子模块,从而导致模块导入失败。
在 Python 中使用 __init__.py
的主要原因
- 使用
__init__.py
将允许其他用户不知道包中函数的确切位置。
your_package/
__init__.py
file1.py
file2.py
...
fileN.py
- 使用
__init__.py
将有助于初始化一些细节,例如顶部的日志记录。
import logging.config
logging.config.dictConfig(Your_logging_config)
__init__.py
有助于简化文件的导入。函数fn()
可以从位于包中的文件filename.py
中导入。
from filename import fn()