2012-06-02 42 views
20

我的包中有幾個空的__init__.py文件。如果我將它們保留爲空或我必須在其中放置pass,這是正確的嗎?空的__init__.py文件是如何修正的?

是否有關於該主題的任何PEP或其他準則?

+2

只有在需要縮進​​塊的情況下('def','if','while'等等之後)才需要'pass',並且您希望將其保留爲空。 –

回答

23

空文件perfectly fine

__init__.py文件,才能使Python視該目錄爲一個包;這是爲了防止具有通用名稱的目錄(例如字符串)無意中隱藏稍後在模塊搜索路徑中發生的有效模塊。在最簡單的情況下,__init__.py可以只是一個空文件,但它也可以執行包的初始化代碼或設置__all__變量,稍後介紹。

取決於你打算做它的進口從模塊公共的東西,在你的包,使人們可以簡單地使用from yourpackage import whatever,而不必使用from yourpackage.somemodule import whatever的好地方是什麼。