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