你想重新加载已经加载的模块,因为你对其源码进行了修改。
使用imp.reload()来重新加载先前加载的模块【3.4+已弃用,详看自己的笔记】。举个例子:
imp.reload()
>>> import spam >>> import imp >>> imp.reload(spam) <module 'spam' from './spam.py'>
重新加载模块在开发和调试过程中常常很有用。但在生产环境中的代码使用会不安全,因为它并不总是像您期望的那样工作。
reload()擦除了模块底层字典的内容,并通过重新执行模块的源代码来刷新它。模块对象本身的身份保持不变。因此,该操作在程序中所有已经被导入了的地方更新了模块。
尽管如此,reload()没有更新像 from module import name 这样使用import语句导入的定义。
from module import name
Last updated 6 years ago