@Dima_E

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

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

Ещё была проблема, что иногда после перезагрузки, выполнятся старый код, но когда выпадала ошибка, её отображение выводилось в интерпретаторе на строку из обновленной версии. Почему так происходит и как можно исправить ? Это не постоянно просто иногда бывает.
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ответы на вопрос 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.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы