を使用せずにパッケージ内のすべてのモジュールの名前を一覧表示する簡単な方法はあり__all__
ますか?
たとえば、次のパッケージがあるとします。
/testpkg
/testpkg/__init__.py
/testpkg/modulea.py
/testpkg/moduleb.py
私はこのようなことをするための標準的な方法または組み込みの方法があるかどうか疑問に思っています:
>>> package_contents("testpkg")
['modulea', 'moduleb']
手動のアプローチは、パッケージのディレクトリを見つけるためにモジュール検索パスを反復することです。次に、そのディレクトリ内のすべてのファイルを一覧表示し、一意の名前が付けられたpy / pyc / pyoファイルを除外して、拡張子を取り除き、そのリストを返すことができます。しかし、これは、モジュールインポートメカニズムがすでに内部で実行していることに対してかなりの量の作業のようです。その機能はどこかで公開されていますか?