xra*_*alf 10 python interpreter reload
$ python
>>> import myapp
>>> reload(myapp)
<module 'myapp' from 'myapp.pyc'>
>>>
Run Code Online (Sandbox Code Playgroud)
ctrl+D
$ python
>>> from myapp import *
>>> reload(myapp)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'myapp' is not defined
Run Code Online (Sandbox Code Playgroud)
为什么这表现不一样?使用时如何重新加载from myapp import *?
ala*_*and 19
来自http://docs.python.org/library/functions.html#reload:
如果一个模块使用from ... import ...从另一个模块导入对象,则为另一个模块调用reload()不会重新定义从它导入的对象 - 另一种方法是重新执行from语句,另一个是改为使用导入和限定名称(模块.名称).
所以,你应该做的事情如下:
from myapp import *
....
import myapp
reload(myapp)
from myapp import *
Run Code Online (Sandbox Code Playgroud)