Python 3.4 でモジュールをリロードする [重複] 質問する

Python 3.4 でモジュールをリロードする [重複] 質問する

これは本当に馬鹿げた質問に聞こえるかもしれませんが、まあいいでしょう。私は Python で小さなスクリプトを作成し、シェルでいくつかの変更を加えました。通常、OS X コンピューター (Python 2.7 を実行) では、単に入力するだけreload(the_module)で、変更を加えたモジュールが再ロードされます。ただし、ここでモジュールを再ロードすると (Windows Python v. 3.4)、次のメッセージが表示されます。

>>> reload(instfile)
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    reload(instfile)
NameError: name 'reload' is not defined

そして、 と入力するとimp.reload(my_module)、関数が非推奨であると表示されます。新しい関数 (またはそれに相当するもの) がどこにも見つからないので、誰かが助けてくれると嬉しいです! :)

ベストアンサー1

このimpモジュールはPython 3.4で廃止され、importlibモジュール。 からドキュメンテーションモジュールの場合imp:

バージョン 3.4 以降では非推奨です: このimpパッケージは、 に取って代わられるため、非推奨になる予定ですimportlib

reloadしたがって、そこから関数を使用する必要があります:

>>> import importlib
>>> importlib.reload
<function reload at 0x01BA4030>
>>> importlib.reload(the_module)

おすすめ記事