我有一个在 Jupyter Lab 中运行的 ipython 笔记本。它正在运行一个函数,该函数使用我制作的名为“Myfile.py”的外部模块中的变量。
Myfile.py
包括一些最初定义如下的变量:
Myterms = ['honda accord', 'ferrari', 'mazerati', 'dodge dumpster']
我对Myterms
列表进行了一些编辑Myfile.py
,然后将更改保存到文件中。
Myterms = ['Nissan Leaf', 'Tesla Roadster']
我想要做的是将Myterms
列表重新加载Myfile.py
到笔记本中,这样当我调用列表中的变量时,它们会反映所做的更改。
我一直在使用此示例中的代码版本:
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
功能并没有被覆盖。在做了更多研究之后,这个答案可能会提供一些关于原因的线索,但我找不到解决方法。