Подтвердить что ты не робот

Python3 - reload() нельзя вызвать в объекте __import__?

Итак, по ряду причин я использовал s = __import__('parse') для самого длинного времени в Python2, теперь мне нужно быть моим переходом на Python3 для определенных проектов (в основном из-за SSL).

Но там нет reload() equivilant в Python3, насколько я заметил. Там только один вариант:

import parse
parse.reload() #works

Но мне действительно нужно действительно работать:

parse = __import__('parse')
parse.reload()

или

reload(parse)

Любые идеи о том, как заставить его работать в Python3?

4b9b3361

Ответ 1

Встроенная функция reload была перенесена в модуль importlib в Python 3.4:

In [18]: from importlib import reload

In [19]: reload?
Reload the module and return it.

The module must have been successfully imported before.

Как указано @JPaget в комментариях reload() функция была перенесена из imp в importlib модуль в Python 3.4 +. Из что нового в Python 3.4:

Функция reload() перемещена от imp до importlib как часть стирание модуля imp