Pythonパッケージの場合、すべてのサブパッケージを自動的に見つけるにはどうすればよいですか?
以前はファイルシステムを参照してファイルが含まれているフォルダを探すだけの機能があり__init__.py*ましたが、今ではパッケージ全体が卵の中にある場合でも機能するメソッドが必要です。
Pythonパッケージの場合、すべてのサブパッケージを自動的に見つけるにはどうすればよいですか?
以前はファイルシステムを参照してファイルが含まれているフォルダを探すだけの機能があり__init__.py*ましたが、今ではパッケージ全体が卵の中にある場合でも機能するメソッドが必要です。
pkgutilが役立つ可能性があります。
このSOの質問も参照してください。、これはその質問のコード例です。
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)
import pkgutil
for importer, modname, ispkg in pkgutil.walk_packages(path=None, onerror=lambda x: None):
print(modname)