インポート時に .pyc ファイルに自動的にコンパイルされるかなり大きなモジュールを作成しました。
クラスメソッドなど、モジュールの機能をインタープリターでテストしたい場合は、パッケージのreload()
関数を使用します。imp
.pyc
問題は、ファイルではなくファイルをリロードすること.py
です。
たとえば、インタープリターで関数を試してみて、それが正しく機能していないことがわかり、.py
ファイルに変更を加えます。ただし、インタープリターでモジュールをリロードすると、.pyc
ファイルがリロードされるため、変更がインタープリターに反映されません。インタープリターを終了し、再度開始してimport
、モジュールをロードする (そして.pyc
ファイルからファイルを作成する.py
) 必要があります。または、.pyc
毎回ファイルを削除する必要があります。
もっと良い方法はありますか?たとえば、ファイルよりもファイルをreload()
優先するには?.py
.pyc
これは、ファイルをreload()
ロードすることを示すインタープリター セッションからの例外です。.pyc
>>> reload(pdb)
<module 'pdb' from 'pdb.pyc'>
編集:ファイルを削除しても、リロードを使用するたび.pyc
に別の.pyc
ファイルが作成されるため、リロードを使用する.pyc
たびにファイルを削除する必要があります。
>>> reload(pdb)
<module 'pdb' from 'pdb.py'>
>>> reload(pdb)
<module 'pdb' from 'pdb.pyc'>