@Dima_E

Как перезагрузить модуль с помощью строчного названия?

Речь о функции reload из importlib
Не хочется писать if под каждый проверяемый файл для его обновления, можно ли передать в функцию объект модуля в виде строки ?
Чтобы не писать if под каждный подключенный модуль.

Ещё была проблема, что иногда после перезагрузки, выполнятся старый код, но когда выпадала ошибка, её отображение выводилось в интерпретаторе на строку из обновленной версии. Почему так происходит и как можно исправить ? Это не постоянно просто иногда бывает.
  • Вопрос задан
  • 59 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
1. sys.modules
This is a dictionary that maps module names to modules which have already been loaded. This can be manipulated to force reloading of modules and other tricks.

2. Ещё может пригодиться importlib.invalidate_caches()
This function should be called if any modules are created/installed while your program is running to guarantee all finders will notice the new module’s existence.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы