【发布时间】:2011-11-14 14:04:43
【问题描述】:
这是一个简洁的例子:
x.py:
class x:
var = 'from x.py'
y.py:
class x:
var = 'from y.py'
test.py
import imp
def write_module(filename):
fp = open('z.py', 'w')
fp.write(open(filename).read())
fp.close()
write_module('x.py')
import z
print(z.x.var) # Prints 'from x.py'
write_module('y.py')
imp.reload(z)
print(z.x.var) # Prints 'from x.py'
我不确定为什么两个打印语句相同。如何让 python 在 reload() 之后使用类 x 的新定义?
【问题讨论】:
-
你也可以删除
.pyc文件,这将强制Python重新编译模块。