擅长:python、mysql、java
<p>首先,如果可以避免的话,根本不应该使用reload。但我们假设您有自己的理由(即在空闲状态下进行调试)。</p>
<p>重新加载库不会将名称返回到模块的命名空间中。为此,只需重新分配变量:</p>
<pre><code>f = open('zoo.py', 'w')
f.write("snakes = ['viper','anaconda']\n")
f.close()
from zoo import snakes
print snakes
f = open('zoo.py', 'w')
f.write("snakes = ['black-adder','boa constrictor']\n")
f.close()
import zoo
reload(zoo)
snakes = zoo.snakes # the variable 'snakes' is now reloaded
print snakes
</code></pre>
<p>你可以用其他的方法。您可以通过搜索本地名称空间,并重新分配所讨论模块中的任何内容来自动化该过程,但我认为我们已经够邪恶了。</p>