私はPythonパッケージを持っているといい、このパッケージ内のすべてのモジュールをリストしたいとします。すなわちPythonのパッケージからモジュール名を取得
>>> import my_package
>>> import inspect
>>> inspect.getmembers(my_package, inspect.ismodule)
>>> []
何らかの理由で空のリストが取得されています。私は手動でパッケージからモジュールをロードする場合さて:私は複数のモジュールを持っていると私はそれらを一つずつロードしたくないと仮定すると
>>> import my_package.module_a
>>> inspect.getmembers(my_package, inspect.ismodule)
>>> ['module_a, <module '....'>]
はそれを行うための他の方法はありますか? (from my_package import *
は動作しません)。
さらに、この現象の原因を知っていますか?名前空間と関係がありますか?
P.Sパッケージはローカルにインストールされていないため、サーバーからすべてのものをロードしています。
2回目のインポートの前に 'my_package.module_a' *にアクセスするとどうなりますか? – jonrsharpe