そのモジュール内からモジュールへの参照を取得するにはどうすればよいですか?また、そのモジュールを含むパッケージへの参照を取得するにはどうすればよいですか?
import sys
current_module = sys.modules[__name__]
そのモジュールにクラスがある場合、クラスの__module__
プロパティはクラスのモジュール名です。したがって、sys.modules[klass.__module__]
を介してモジュールにアクセスできます。これは関数に対しても機能します。
Sysモジュールをインポートしないもう1つのテクニック、そして間違いなく-あなたの好みに依存します-より簡単です:
current_module = __import__(__name__)
インポートがないことに注意してください。 Pythonは各モジュールを一度だけインポートします。
外部から渡すことができます:
mymod.init(mymod)
理想的ではありませんが、現在のユースケースでは機能します。