2011年6月9日 星期四

Python的.py與.pyc

.py檔是Python的原始程式,.pyc檔是當Python執行.py檔案時,會將.py的程式編譯成中間程式碼 (bytecode),再用虛擬機器去執行它。

.pyc檔與JAVA、C#的bytecode有異曲同工之妙,但是Python沒有 JAVA的JIT (just-in-time compilation) 的技術,每當執行到一段 bytecode 時,虛擬機器會先把它翻譯成 native code 執行,而當以後再執行到同一段 bytecode 時,翻譯的動作就可以省去,所以速度才會較Python快。

.pyc檔可以加快下次執行的速度,所以當執行.py檔時,Python會讀取有沒有.pyc,要不然就會讀原始的.py檔。