0
我在我的模塊的__init__.py
中使用下面的代碼來填充__all__
,如果有更有效的方法,我就會徘徊。有任何想法嗎?在__init__.py中遞歸填充__all__
import fnmatch
import os
__all__ = []
for root, dirnames, filenames in os.walk(os.path.dirname(__file__)):
root = root[os.path.dirname(__file__).__len__():]
for filename in fnmatch.filter(filenames, "*.py"):
__all__.append(os.path.join(root, filename[:-3]))
如果你想導出所有東西,你真的需要'__all__'嗎?如果未定義'__all__',默認行爲是導出所有內容。 – alexis 2013-02-15 22:22:07
@alexis確實如此,但我希望能夠*排除*一些,所以我想用所有內容填充__all__,然後刪除那些我不想公開的內容。 – 2013-02-16 12:29:28