Python查找包中的所有包,即使在鸡蛋中也是如此

时间:2010-05-09 13:02:40

标签: python import packages setuptools egg

鉴于Python包,我如何自动查找其所有子包?

我曾经有一个只浏览文件系统的函数,查找其中有__init__.py*文件的文件夹,但现在我需要一个方法,即使整个包在一个鸡蛋中也可以工作

1 个答案:

答案 0 :(得分:0)

pkgutil可能会有所帮助。

另请参阅this SO question.,这是一个代码示例表单that question

kaizer.se

import pkgutil
# this is the package we are inspecting -- for example 'email' from stdlib
import email
package = email
for importer, modname, ispkg in pkgutil.iter_modules(package.__path__):
    print "Found submodule %s (is a package: %s)" % (modname, ispkg)

~unutbu

import pkgutil
for importer, modname, ispkg in pkgutil.walk_packages(path=None, onerror=lambda x: None):
    print(modname)