我试图理解我的工作流程如何使用python和idle。
假设我写了一个函数:
def hello():
print 'hello!'
我将文件保存为
greetings.py
。然后在空闲时,我测试功能:>>> from greetings import *
>>> hello()
hello!
然后我更改程序,并再次尝试
hello()
。所以我:>>> reload(greetings)
<module 'greetings' from '/path/to/file/greetings.py'>
然而,这一变化并未得到重视。我做错什么了?如何重新加载已更改的模块?
我读了很多相关的问题,但是没有一个答案对我有帮助。
最佳答案
您需要重做此行:>>> from greetings import *
在你这样做之后>>> reload(greetings)
重新加载模块不起作用的原因是*实际上导入了模块内的所有内容,因此必须单独重新加载这些内容。如果您执行以下操作,它将按您预期的方式工作:
>>> import greetings
>>> greetings.hello()
hello!
更改为文件
>>> reload(greetings)
<module 'greetings' from 'greetings.py'>
>>> greetings.hello()
world!