38

我的包中有几个空__init__.py文件。如果我将它们保持为空是否正确,或者我必须pass在其中放置一个?

是否有关于该主题的任何 PEP 或其他指南?

4

1 回答 1

45

空文件非常好

需要这些__init__.py文件才能使 Python 将目录视为包含包;这样做是为了防止具有通用名称(例如字符串)的目录无意中隐藏了稍后出现在模块搜索路径上的有效模块。在最简单的情况下,__init__.py可以只是一个空文件,但它也可以执行包的初始化代码或设置__all__变量,稍后介绍。

根据您的计划,这是一个从包中的模块导入公共内容的好地方,这样人们就可以简单地使用from yourpackage import whatever,而不必使用from yourpackage.somemodule import whatever.

于 2012-06-02T14:51:42.850 回答