Python生成pyc文件

Python生成pyc文件

pyc文件是py文件編譯後生成的字節碼文件(byte code)。pyc文件通過python解釋器最終會生成機器碼運行。因此pyc文件是能夠跨平臺部署的,相似Java的.class文件。通常py文件改變後,都會從新生成pyc文件。html

爲何要手動提早生成pyc文件呢,主要是不想把源代碼暴露出來。python

生成單個pyc文件

對於py文件,能夠執行下面命令來生成pyc文件。正則表達式

python -m foo.py

另一種方式是經過代碼來生成pyc文件。函數

import py_compile
py_compile.compile('/path/to/foo.py')

批量生成pyc文件

針對一個目錄下全部的py文件進行編譯。python提供了一個模塊叫compileall,具體請看下面代碼:ui

import compileall
compileall.compile_dir(r'/path')

這個函數的格式以下:.net

compile_dir(dir[, maxlevels[, ddir[, force[, rx[, quiet]]]]])

參數含義:命令行

  • maxlevels: 遞歸編譯的層數
  • ddir: If ddir is given, it is prepended to the path to each file being compiled for use in compilation time tracebacks, and is also compiled in to the byte-code file, where it will be used in tracebacks and other messages in cases where the source file does not exist at the time the byte-code file is executed. (誰能翻譯一下( ⊙o⊙?)不懂)
  • force: 若是True,不管是是否有pyc,都從新編譯
  • rx: 一個正則表達式,排除掉不想要的目錄
  • quiet:若是爲True,則編譯不會在標準輸出中打印信息

命令行爲:翻譯

python -m compileall <dir>

@完code


參考:htm

相關文章
相關標籤/搜索