Python - モジュールを読み込みなおす
書きかけのモジュールをPythonのREPLでimportして試しているとき、ソースを修正・保存したり、importしなおしたりしてもソースの修正は反映されません。ソースの修正を反映するには、importlib.reload()を使います。 code:reload.py
>> import mylib
>> # mylib.py
>> # def myfunc(a): return a + 1
>> mylib.myfunc(3)
4
>> # def myfunc(a): return a + 2 に書き換えて保存
>> mylib.myfunc(3)
4 # 変わらない
>> # importしなおす
>> import mylib
>> mylib.myfunc(3)
4 # 変わらない
>> # reloadする
>> import importlib
>> importlib.reload(mylib)
<module 'mylib' from 'D:\\Dropbox\\takahiro\\Documents\\study\\HFP2\\mylib.py'>
>> mylib.myfunc(3)
5 # 反映された
※REPLで#を実際に入力してもこうはなりません