Python Tips
「Tips」と言う程の数がありません。 ここには、ときどきひっかかる課題をまとめようと思います。 ネットで調べてもあまり見かけない話を。
モジュール内で、そのモジュール自身を参照する
モジュール内で、そのモジュール自身を参照するには、sys.modules[__name__]を使用する。 sys.modules辞書を使うと、import済みのモジュールを名前で取り出すことができる。
そのモジュール内の変数、関数、クラス等の一覧。
import sys print dir(sys.modules[__name__])
モジュール自身を、別のモジュールで置き換える。
import sys import new sys.modules[__name__] = new
importした先から元のモジュールをいじる。
"test.py"
DEBUG = False try: import _test except ImportError: pass
"_test.py"
import sys sys.modules['test'].DEBUG = True