#python #dynamic #python-import #python-module #python-importlib
Вопрос:
В настоящее время я читаю о модулях, импорте и перезагрузке, и я наткнулся на это утверждение в книге «Изучение Python», 5-е издание Марка Лутца:
Помимо возможности перезагрузки (и, следовательно, повторного запуска) модулей в интерактивном приглашении, перезагрузка модулей также полезна в более крупных системах, особенно когда стоимость перезапуска всего приложения непомерно высока. Например, игровые серверы и системы, которые при запуске должны подключаться к серверам по сети, являются основными кандидатами на динамическую перезагрузку.
Я знаю, что imp.reload()
делает, но не могли бы вы привести мне более конкретные примеры того, как это можно использовать на веб-сайтах, в играх или приложениях?
До сих пор я пытался вручную записывать жестко закодированные значения в модули, а затем imp.reload()
применял изменения, но все же, как это полезно без ручной мутации исходного кода прямо в IDE?
Комментарии:
1. Я предполагаю
imp
importlib
, что это так, верно?2. Конечно, всякий раз, когда вы хотите перезагрузить модуль.
3. @martineau ну,
imp
был осужден иimportlib
делает то же самое, так что да, я имел в видуimportlib
4. @juanpa.arrivillaga еще раз, я понимаю, что он делает. Я хочу знать, когда бы я хотел его перезагрузить? Какова реальная проектная ситуация для этого?
5. Это может быть полезно в сеансе отладки после внесения некоторых изменений в код модуля, который вы хотите повторно импортировать. Мне это никогда не требовалось для обычного кода, который обычно не меняется во время выполнения.