让我们面对现实,修改Python代码后需要重新加载的整个流程相当混乱。我有一段时间前就想到了,用解释器调用import <module>
比用from <module> import <class/function>
更好,因为这样我可以调用reload(module)
来获取更新的代码。
但我现在有更复杂的问题。所以我有这个文件,module1.py,在顶部它说:
from module2 import <class1>, <function1>, etc.
然后我进入module2并更改代码。 结果发现调用reload(module1)
不会重新加载module2中的更改的代码,即使module2的代码在module1顶部被导入。 有没有办法重新加载所有内容而不重启解释器?
在有人对我的样式提出异议之前,我只想说:
- 我只从解释器中调用
reload
,从不在活动代码中调用。 这个问题涉及当我测试新代码时。 - 我从不使用
<module> import *
,我知道那会破坏可读性
from module import stuff
导入方式。请查看我的回答评论。 - BrenBarn