У меня есть ноутбук ipython, работающий в Jupyter Lab.Он запускает функцию, которая использует переменные из внешнего модуля, который я создал под названием «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
.После дополнительных исследований этот ответ может дать некоторые подсказки о том, почему, но я не могу найти обходной путь.