web-dev-qa-db-ja.com

Python3-reload()を__import__オブジェクトで呼び出すことはできませんか?

わかりましたので、いくつかの理由で、私はPython2でs = __import__('parse')を最も長い間使用してきました。

しかし、私が見つけた限り、Python3にはreload()に相当するものはありません。オプションは1つだけです。

import parse
parse.reload() #works

しかし、私は本当にこれが機能するために本当に必要です:

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

または

reload(parse)

Python3で動作させる方法についてのアイデアはありますか?

34
Torxed

reload組み込み関数は、Python 3.4のimportlibモジュールに移動されました。

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に移動しました

68