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