2012-11-22 1 views
7

私はwinシステムで作業しています。pyファイルを大量にコンパイルするためにcmd行で動くPythonスクリプトを使用することができます。 私は単純なPythonコードを書いています。どのようにpythonスクリプトを書くことによって、フォルダ内のpycファイルにすべてのpyファイルをコンパイルするには?

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ファイルを削除するには –

0

ライブラリモジュールのアップグレード時に同様の問題が発生しました。私は別のgitブランチ上で異なるモジュールバージョンを持っていました。ブランチを切り替えると、コンパイルを使用して再コンパイルしても動作が停止します。

私の単純な解決策は、すべての.pycファイルをライブラリから削除し、必要なすべてのモジュールをコンパイルするようにスクリプトを実行することです。出来た!! `のpython -m compilelall -f D:/ FAS/config`を

簡単コマンドは、コマンドラインから、find libs/ -name *.pyc -exec rm {} \;

関連する問題