トップ «前の日記(2012-05-10) 最新 次の日記(2012-05-12)» 編集

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|12|
2024|01|02|03|04|

2012-05-11 :-(

_ 午前

0520 起床

0830 出勤

0900 検討

_ 午後

1300 検討

1600 おお動いた。胸熱

1700 退勤

_

2100 飯。キャベツとじゃがいものガレット 何か別のものが出来上がった。

_ [python][モジュール][動的][インスペクト][リフレクション][遅延][import][load][ロード]python モジュールを動的にロードする

( モジュールを動的にロードする. #Python - Qiita )

リフレクションとかなんとかどうのこうの。

lazyload.py

#!/usr/bin/python
# -*- coding:utf8 -*-

# モジュールを動的にロードする. #Python - Qiita
# http://qiita.com/items/837

def lazy_loader(name):
    """Loading function, class and module lazy."""
    try:
        mod = __import__(name)
    except:
        mod_list = name.split('.')
        mod = __import__('.'.join(mod_list[:-1]))

    components = name.split('.')
    for comp in components[1:]:
        mod = getattr(mod, comp)
    return mod

mymod.py

#!/usr/bin/python
# -*- coding:utf8 -*-

foobar = 0xDEADBEAF

def hoge():
    print "hoge"

class Moge(object):
    def __init__(self):
        print "moge"

lazyload0.py

#!/usr/bin/python
# -*- coding:utf8 -*-

import lazyload

def main():
    mod = lazyload.lazy_loader('os.path')
    print mod.abspath('./')

    mod = lazyload.lazy_loader('mymod')
    mod.hoge()
    print "0x%X" % (mod.foobar)

    moge = mod.Moge()


main()
% python lazyload0.py
/home/rin/work/lang/python    <= mod.abspath('./')
hoge                          <= mod.hoge()
0xDEADBEAF                    <= mod.foobar
moge                          <= mod.Moge()