我有一个ipython笔记本在Jupyter实验室运行,它运行的是一个函数,它使用了我制作的名为“的外部模块的变量我的文件.py". 在
Myfile.py
包含一些最初定义如下的变量:
Myterms = ['honda accord', 'ferrari', 'mazerati', 'dodge dumpster']
我对Myfile.py
中的Myterms
列表进行了一些编辑,然后将更改保存到文件中。在
我要做的是将Myterms
列表从Myfile.py
重新加载到笔记本中,这样当我调用列表中的变量时,它们会反映出所做的更改。在
我一直在使用this example中的代码版本:
import myfile
import importlib
def reloader(myfile):
importlib.reload(myfile)
from myfile import Myterms
reloader(myfile)
print(Myterms)
但是print(myterms)
行仍然打印出来
['honda accord', 'ferrari', 'mazerati', 'dodge dumpster']
更新:由于某些原因,旧的Myterms
列表似乎在内存中挂起,并且没有被覆盖,尽管importlib.reload
函数。在做了更多的研究之后,this answer可能会提供一些关于原因的线索,但是我找不到解决办法。在
我想你是在寻找IPython中提供的:Autoreload。在
来源:autoreload
相关问题 更多 >
编程相关推荐