1分鐘讓你認識Python最基本文件種類

0x01 什麼是py文件

一般上,我們都會用Python編譯器來運行py文件。而當我們查看py文件的時候,我們都可以直接看到程式的源代碼。然而,因為商業的需求,開發者必須想辦法保護程式源代碼,於是便有了pyc和pyo這2種的文件。

0x02 什麼是pyc文件

pyc是而二进制文件的一種。要生成此文件,我們必須先將py文件經過編譯後,再使用python -m compileall <your_script.py>來生成你要的pyc文件。pyc文件和py文件比較起來,加載的速度會快了一些。另外,要注意的是不同版本的Python編譯出來的pyc文件也會有所不一樣。

0x03 什麼是pyo文件

pyo是經過優化編譯後的程序。python -O <your_script.py> 便可以直接生成所謂的pyo文件。小提示,python3.5版本以上都一律採用了新的優化機制,所以只有pyc,而沒有使用pyo文件了。

0x04 什麼是pyd文件

pyd是python的动态链接库。

0x05 如何反編譯pyc文件

或許有人會問,那要怎樣從pyo找回源代碼呢?用uncompyle6 2.13.2工具可以將pyc文件的binary code反編譯回原來的代碼。

例子:
安装好uncompyle6后,可在cmd输入uncompyle6 <your_script.pyc>,你就能得到原本的源代码。

此外,這裡有個線上工具也具有一樣的功能哦。你可以上載pyc文件,然後它會自動幫你轉回源代碼。

0%