我的包中有几个空的__init__.py
个文件。如果我将它们保持为空或者我必须在其中放置pass
这是正确的吗?
是否有关于该主题的PEP或其他指南?
答案 0 :(得分:28)
空文件为perfectly fine:
需要
__init__.py
个文件才能使Python将目录视为包含包;这样做是为了防止具有通用名称的目录(例如字符串)无意中隐藏稍后在模块搜索路径上发生的有效模块。在最简单的情况下,__init__.py
可以只是一个空文件,但它也可以执行包的初始化代码或设置__all__
变量,稍后将对此进行描述。
根据您的计划,这是一个从包中的模块导入公共内容的好地方,这样人们就可以使用from yourpackage import whatever
而不必使用from yourpackage.somemodule import whatever
。