wiki:PythonTips

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