Hatena::ブログ(Diary)

西尾泰和のはてなダイアリー

2007-11-05

ワンライナーで深い階層のモジュールをインポート

>>> lambda x:(lambda y=x.split("."), imp=__import__('imp'): reduce(lambda p,m: imp.load_module(m, *imp.find_module(m, p.__path__)), y[1:], __import__(y[0])))()
<function <lambda> at 0x014941B0>
>>> _("django.core.management")
<module 'management' from 'C:\Python25\lib\site-packages\django\core\management.pyc'>

ドットでつながっているモジュールを自分でたどっていくのはDRYじゃないので再利用可能なlambdaを作っておきました。

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/nishiohirokazu/20071105/1194274306
Connection: close