インポート時に .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'>