我在重新加载导入并在不同模块中使用的模块时遇到问题。为了清楚起见,让我们考虑在那里我有两个模块的例子:如何重新加载在其他模块中导入的模块
第一个模块: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后,您的编辑不是新的 –
我明白,我可以手动重新加载模块,但有一个更自动的方法,重新加载模块和它所有的导入模块,并递归这样呢?是否有深层重载(如有副本和深层复制)? –