python文件類型
.py文件
以.py為擴(kuò)展名的文件是python代碼源文件,可以直接看到代碼,由python解釋器執(zhí)行。
.pyc
以.pyc為擴(kuò)展名的文件是代碼源文件經(jīng)過(guò)編譯后的文件。
其執(zhí)行速度比py文件快。
進(jìn)行簡(jiǎn)單編譯,并未加密,反編譯可以得到源代碼。
.pyw
.pyw文件其本質(zhì)上和.pyc文件是一質(zhì)的。
區(qū)別在于執(zhí)行.pyc文件GUI程序會(huì)出現(xiàn)控制臺(tái),執(zhí)行點(diǎn).pyw的GUI程序不會(huì)出現(xiàn)控制臺(tái)。
.pyo
“python -O 源文件” 即可將 Python 源程序編譯成 .pyo 文件,但有時(shí)仍得采用 .pyc 作后綴,才能正常運(yùn)行。
.pyo 文件是相對(duì) .pyc 而言的,優(yōu)化編譯后的 Python 文件。
.pyd/so
可以反匯編,但是無(wú)法反編譯。
.pyd 文件是非 Python,由其它編程語(yǔ)言 “編寫-編譯” 生成的 Python 擴(kuò)展模塊。
Cython 可將個(gè)人基于 Python 語(yǔ)言編寫的 Python 模塊編譯成具有 C 語(yǔ)言特性的 .pyd 或so文件。實(shí)質(zhì)上是先轉(zhuǎn)為C代碼再轉(zhuǎn)pyd/so文件。
生成so/pyd文件
-
安裝easycython,目前僅支持到python3.6。pypi地址
pip install easycython
-
將需要生成so/pyd文件的py文件改成pyx后綴。
如:pay.py
命名為:pay.pyx
-
使用命令
easycython xxx.pyx
自動(dòng)生成pyd(windows)
或so(linux)
。 -
其中生成的文件名
hello.cpython-36m-x86_64-linux-gnu.so
中間部分去掉,如hello.so
。
使用方法
- 新建一個(gè)main.py文件。
import os
import sys
#將當(dāng)前so所在的路徑添加到sys.path, python是在sys.path路徑中找模塊的
sys.path.append(os.path.realpath('.'))
from hello import hello
hello()
pyd文件理論上也是一樣的,windows沒(méi)試,沒(méi)那個(gè)條件。
個(gè)人博客[http://blog.fenlanli.com]
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
