我在重新加載導入並在不同模塊中使用的模塊時遇到問題。爲了清楚起見,讓我們考慮在那裏我有兩個模塊的例子:如何重新加載在其他模塊中導入的模塊
第一個模塊: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中導入的模塊operation.py。
我該如何解決這個問題?在一般情況下,如何確保每次更改代碼時,我的代碼中的所有導入模塊都會重新導入(或重新加載)?
使用'reload(operation)',然後'reload(test_operation)'。 – Uriel
你正在重新加載內存中已經導入的模塊,在您更改operation.py後,您的編輯不是新的 –
我明白,我可以手動重新加載模塊,但有一個更自動的方法,重新加載模塊和它所有的導入模塊,並遞歸這樣呢?是否有深層重載(如有副本和深層複製)? –