У меня есть два сценария .py
. script1.py
и script2.py
Импорт переменной из другого скрипта и ее обновление
Я ввожу несколько переменных из script2.py
как:
from script2 import variable1 as var1
, который прекрасно работает.
Но когда я обновитьvariable1
в script2.py
, а затем повторно запустить script1.py
, обновление variable1
не отображается в script1.py
. Почему это так?
Обновление variable1
появляется, если я полностью закрываю IPython, а затем снова заново открываю IPython. Но я не хочу делать это все время, так как мне нужно, чтобы какой-то сюжет был открыт.
Я использую IPython 1.2.1
и Python 2.7.6
(если может понадобиться дополнительная информация).
' import' берет файл в этот момент и не проверяет, проверяет ли файл позже. Поэтому вы не будете получать обновления для любых функций или переменных, которые вы обновляете в исходном файле script2.py. Вы можете удалить импортированный пакет с помощью 'del var1', а затем импортировать его снова, я думаю, что это должно сработать. И если вам нужно регулярно обновлять свой скрипт2.py, вам может понадобиться другой подход, например, написать вашу переменную в файле конфигурации и всегда перезагружать ее оттуда. –
@Memnon: Не могли бы вы рассказать о том, как можно сделать вышеупомянутое решение, о котором вы упоминали? – ThePredator
Вы имеете в виду подход с использованием файла конфигурации? –