Рекурсивная версия reload

Когда я'Разрабатывая код Python, я обычно тестирую его в интерпретаторе. Я'Л.Л.import some_module, протестируйте его, найдите ошибку, исправьте ошибку и сохраните, а затем используйте встроенныйreload функция кreload(some_module) и проверить снова.

Однако предположим, что вsome_module я имеюimport some_other_moduleи во время тестированияsome_module Я обнаружил ошибку вsome_other_module и исправить это. Сейчас звонюreload(some_module) победил'рекурсивный ре-импортsome_other_module, Я должен либо вручную импортировать зависимость (делая что-то вродеreload(some_module.some_other_module), или жеimport some_other_module; reload(some_other_module)или, если яЯ изменил целую кучу зависимостей и потерял отслеживание того, что мне нужно перезагрузить, мне нужно перезапустить весь интерпретатор.

Какие'было бы удобнее, если бы были некоторыеrecursive_reload функция, и я мог бы просто сделатьrecursive_reload(some_module) и есть Python не только перезагрузитьsome_module, но также рекурсивно перезагрузить каждый модуль, которыйsome_module импорт (и каждый модуль, который импортирует каждый из этих модулей и т. д.), чтобы я мог быть уверен, чтот использование старой версии любого из других модулей, на которыхsome_module зависит.

Я нене думаю, что тамЧто-нибудь встроенное в Python, которое ведет себя какrecursive_reload функцию я опишу здесь, но есть ли простой способ взломать такую вещь вместе?

Ответы на вопрос(7)

Ваш ответ на вопрос