溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python生成pyc文件的方法

發(fā)布時(shí)間:2020-08-05 17:20:46 來(lái)源:億速云 閱讀:428 作者:小新 欄目:編程語(yǔ)言

python生成pyc文件的方法?這個(gè)問(wèn)題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見(jiàn)到的。希望通過(guò)這個(gè)問(wèn)題能讓你收獲頗深。下面是小編給大家?guī)?lái)的參考內(nèi)容,讓我們一起來(lái)看看吧!

pyc文件是py文件編譯后生成的字節(jié)碼文件(byte code)。pyc文件經(jīng)過(guò)python解釋器最終會(huì)生成機(jī)器碼運(yùn)行。所以pyc文件是可以跨平臺(tái)部署的,類似Java的.class文件。一般py文件改變后,都會(huì)重新生成pyc文件。

為什么要手動(dòng)提前生成pyc文件呢,主要是不想把源代碼暴露出來(lái)。

生成單個(gè)pyc文件

對(duì)于py文件,可以執(zhí)行下面命令來(lái)生成pyc文件。

python -m foo.py

另外一種方式是通過(guò)代碼來(lái)生成pyc文件。

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

批量生成pyc文件

針對(duì)一個(gè)目錄下所有的py文件進(jìn)行編譯。python提供了一個(gè)模塊叫compileall,具體請(qǐng)看下面代碼:

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

這個(gè)函數(shù)的格式如下:

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

參數(shù)含義:

- maxlevels: 遞歸編譯的層數(shù)

- 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. 

- force: 如果True,不論是是否有pyc,都重新編譯

- rx: 一個(gè)正則表達(dá)式,排除掉不想要的目錄

- quiet:如果為T(mén)rue,則編譯不會(huì)在標(biāo)準(zhǔn)輸出中打印信息

命令行為:

python -m compileall <dir>

感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)python生成pyc文件的方法大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI