Parece que eles cancelaram no Python 3 toda a maneira fácil de carregar rapidamente um script removendo execfile()
Existe uma alternativa óbvia que estou perdendo?
%run script_name
funciona com todas as versões do Python.
imp
é importlib
(que deve ser importado): importlib.reload(mod_name)
importa e executa mod_name
.
runfile()
pois precisava executar um script Python que fosse executado em seu próprio espaço para nome (em vez de executar no espaço para nome que chamava ). Minha aplicação: adicione o diretório do script chamado ao caminho do sistema ( sys.path
) usando o __file__
atributo: se usarmos execfile()
ou equivalente no Python 3 ( exec(open('file.py').read())
), o script incluído será executado no espaço de nomes de chamada e, portanto, será __file__
resolvido com o nome do arquivo de chamada .
reload
está de volta, comoimp.reload
desde 3.2.