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

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