モジュールをPythonに「再インポート」し、インポート後にコードを変更する方法 質問する

モジュールをPythonに「再インポート」し、インポート後にコードを変更する方法 質問する

私はfoo.py

def foo():
    print "test"

IPython では以下を使用します:

In [6]:  import foo
In [7]:  foo.foo()
test

次に、foo()次のように変更しました。

def foo():
    print "test changed"

IPython では、呼び出しの結果は次のようになりますtest

In [10]:  import foo
In [11]:  foo.foo()
test

次に以下を使用します:

In [15]: del foo
In [16]:  import foo
In [17]:  foo.foo()
test

foo.pyc同じフォルダ内の既存のものを削除しましたfoo.pyが、それでもうまくいきません。

更新されたコードを実行時に再インポートする方法を教えてください。

ベストアンサー1

Python 2.xの場合

reload(foo)

Python 3.xの場合

import importlib
import foo #import the module here, so that it can be reloaded.
importlib.reload(foo)

おすすめ記事