python - 在解释器中重新加载(更新)模块文件

标签 python module

假设我有这个 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/

相关文章:

python - 为什么大整数除法比切片(数字)字符串更快,以访问单个数字?

angular - 如何在其他项目中重用 Angular 模块

javascript - React Native Module Callback 什么都不返回

python - 如何使用 file.upload 和 requests 将文件上传到 slack

python - 来自 statsmodels.tsa.statespace 的 sarimax 的 AttributeError

python - 无法导入名为 pandas 的模块

go - 在哪里可以找到 golang 模块?

python - 在 Windows 中安装 Python 模块

python - 数据打印,但不写入数据框

python - 使用 Python 2.7 无法找到 VCVarsall.bat