2012-11-22 99 views
7

我在win系統上工作,我想知道一種方法,我可以使用可以在cmd行中運行的python腳本來批量編譯py文件。 我寫了一個簡單的python代碼。如何通過編寫python腳本將所有py文件編譯到文件夾中的pyc文件?

import py_compile, os, glob 
dir = 'D:\\FAS\\config' 
for f in glob.glob(dir + '\\*.py'): 
    py_compile.compile(f) 
    print "Success compile the file: %s" % f 

工作不便,無法編譯文件夾的子文件夾中的文件。我希望你的幫助。

回答

18
import compileall 

compileall.compile_dir('D:/FAS/config', force=True) 
+16

可選擇地除去的pyc文件,從所述命令行:'蟒-m compilelall -f d:/ FAS/config' –

0

升級庫模塊時遇到類似問題。我在不同的git分支上有不同的模塊版本,當我切換分支時,即使我使用compileall重新編譯,它們也停止工作。

我簡單的解決方案是從庫中刪除所有.pyc文件並運行腳本,以便它自己編譯所有必需的模塊。有效!!

易於命令find libs/ -name *.pyc -exec rm {} \;

相關問題