天天看點

Python3下不要版本号批量編譯.pyc檔案

code say:

<code>#encoding=utf-8</code>

<code>#author: walker</code>

<code>#date: 2016-06-28</code>

<code>#summary: 編譯目前檔案夾下所有.py檔案</code>

<code>import</code> <code>os, sys, shutil</code>

<code>import</code> <code>py_compile</code>

<code>cur_dir_fullpath </code><code>=</code> <code>os.path.dirname(os.path.abspath(__file__))</code>

<code>#清空目錄</code>

<code>def</code> <code>ClearDir(</code><code>dir</code><code>):</code>

<code>    </code><code>print</code><code>(</code><code>'ClearDir '</code> <code>+</code> <code>dir</code> <code>+</code> <code>'...'</code><code>)</code>

<code>     </code> 

<code>    </code><code>for</code> <code>entry </code><code>in</code> <code>os.scandir(</code><code>dir</code><code>):</code>

<code>        </code><code>if</code> <code>entry.name.startswith(</code><code>'.'</code><code>):</code>

<code>            </code><code>continue</code>

<code>        </code><code>if</code>  <code>entry.is_file():   </code>

<code>            </code><code>os.remove(entry.path)    </code><code>#删除檔案</code>

<code>        </code><code>else</code><code>:                  </code>

<code>            </code><code>shutil.rmtree(entry.path)    </code><code>#删除目錄</code>

<code>            </code> 

<code>#編譯目前檔案夾下所有.py檔案</code>

<code>def</code> <code>WalkerCompile():</code>

<code>    </code><code>dstDir </code><code>=</code> <code>os.path.join(cur_dir_fullpath, </code><code>'walker_compile'</code><code>)</code>

<code>    </code><code>if</code> <code>os.path.exists(dstDir): </code><code>#如果存在,清空</code>

<code>        </code><code>ClearDir(dstDir)</code>

<code>    </code><code>else</code><code>:                       </code><code>#如果不存在,建立</code>

<code>        </code><code>os.mkdir(dstDir)      </code>

<code>    </code><code>for</code> <code>filename </code><code>in</code> <code>os.listdir(cur_dir_fullpath):</code>

<code>        </code><code>if</code> <code>not</code> <code>filename.endswith(</code><code>'.py'</code><code>):</code>

<code>        </code><code>srcFile </code><code>=</code> <code>os.path.join(cur_dir_fullpath, filename)</code>

<code>        </code><code>if</code> <code>srcFile </code><code>=</code><code>=</code> <code>os.path.abspath(__file__): </code><code>#自身</code>

<code>        </code><code>dstFile </code><code>=</code> <code>os.path.join(dstDir, filename </code><code>+</code> <code>'c'</code><code>)</code>

<code>        </code><code>print</code><code>(srcFile </code><code>+</code> <code>' --&gt; '</code> <code>+</code> <code>dstFile)</code>

<code>        </code><code>py_compile.</code><code>compile</code><code>(srcFile, cfile</code><code>=</code><code>dstFile)</code>

<code>if</code> <code>__name__ </code><code>=</code><code>=</code> <code>"__main__"</code><code>:</code>

<code>    </code><code>WalkerCompile()</code>

相關閱讀:

本文轉自walker snapshot部落格51CTO部落格,原文連結http://blog.51cto.com/walkerqt/1793685如需轉載請自行聯系原作者

RQSLT