假设我有这个 python 脚本 script.py
并通过键入将其加载到解释器中
import script
然后我通过键入以下内容来执行我的函数:
script.testFunction(testArgument)
到目前为止一切顺利,但是当我更改 script.py
时,如果我尝试再次导入,脚本不会更新。我必须退出解释器,重新启动解释器,然后导入新版本的脚本才能工作。
我应该怎么做?
最佳答案
您可以发出一个重新加载脚本
,但这不会更新您现有的对象,也不会深入其他模块。
幸运的是,IPython
解决了这个问题 - 一个支持自动重新加载的更好的 python shell。
要在 IPython
中使用自动重载,您必须先输入 import ipy_autoreload
,或者将其永久放入您的 ~/.ipython/ipy_user_conf.py
。
然后运行:
%autoreload 1 %aimport script
%autoreload 1
表示每个使用 %aimport
加载的模块都将在从提示执行代码之前重新加载。但是,这不会更新任何现有对象。
参见 http://ipython.org/ipython-doc/dev/config/extensions/autoreload.html您可以做更多有趣的事情。
关于python - 在解释器中重新加载(更新)模块文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3747679/