インポートして別のモジュールで使用するモジュールを再ロードする際に問題があります。明確にするために、のは、私は2つのモジュールを持っている例を考えてみましょう:他のモジュールにインポートされたモジュールを再ロードする方法
最初のモジュール:operation.py
def f(x,y):
return x+y
第二のモジュール:test_operation.py
import operation
x=3
y=4
z= operation.f(x,y)
print z
私は通訳に行けばと書く:
import test_operation
私は4つの印刷物(z = 4)を得るでしょう。私は最初のモジュールoperation.pyにおける関数fを変更した場合であることを:
def f(x,y):
return x+y+1
、その後、私は通訳リロード(test_operation)に書き込み、私はまだ4は、それがあること、次に思わ5.の代わりに印刷されますモジュールtest_operation.pyをリロードしますが、test_operation.pyにインポートされたモジュールのoperator.pyをリロードしません。
このような問題を解決するにはどうすればよいですか?一般的に、コード内のインポートされたモジュールが変更されるたびに再インポート(または再読み込み)されるようにするにはどうすればよいですか?インタプリタから
'reload(operation)'、 'reload(test_operation)'を使用します。 – Uriel
既にインポートされたモジュールを変更後にメモリに再ロードしています。編集した新しいものはありません。 –
モジュールを手作業でリロードすることができますが、モジュールをリロードする自動化メソッドがあります。すべてのインポートされたモジュールは、このような再帰的に行く?深いリロードがある(コピーと深いコピーがあるように)? –