我寫了一個相當大的模塊,當我導入它時,它會自動編譯到.pyc文件中。使python reload()函數從.py讀取而不是.pyc
當我想在解釋器中測試模塊的功能時,例如類方法,我使用imp
包中的reload()
函數。
問題是它重新加載了.pyc
文件,而不是.py
文件。
例如,我在解釋器中嘗試一個函數,發現它不能正常工作,我將對.py
文件進行更改。但是,如果我在解釋器中重新加載模塊,它將重新加載.pyc
文件,以便更改不會反映在解釋器中。我將不得不退出解釋器,再次啓動並使用import
加載模塊(並從.py
文件創建.pyc
文件)。或者,我必須每次刪除.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'>
刪除'.pyc'文件? – kindall
是的,我在我的文章中提到過,但是,有時我需要/想要打開另一個此模塊的交互式shell來嘗試一些東西。然後會創建一個新的pyc文件。 – Sebastian
可能重複[如何避免.pyc文件?](http://stackoverflow.com/questions/154443/how-to-avoid-pyc-files) – dnozay