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?
Ответы
Ответ 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