日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python 文件類型詳解 及 生成使用 so/pyd文件

系統 2585 0
原文鏈接: http://blog.fenlanli.com/articles/2019/08/21/1566381374515.html

Python 文件類型詳解 及 生成使用 so/pyd文件_第1張圖片

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

Python 文件類型詳解 及 生成使用 so/pyd文件_第2張圖片

使用方法

  • 新建一個main.py文件。
            
              import os
import sys

#將當前so所在的路徑添加到sys.path, python是在sys.path路徑中找模塊的
sys.path.append(os.path.realpath('.'))
from hello import hello 
hello()

            
          

Python 文件類型詳解 及 生成使用 so/pyd文件_第3張圖片

pyd文件理論上也是一樣的,windows沒試,沒那個條件。

個人博客[http://blog.fenlanli.com]


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 天门市| 巴彦淖尔市| 界首市| 怀仁县| 淮阳县| 蓝山县| 江门市| 乃东县| 吴忠市| 江城| 黄陵县| 临泽县| 新邵县| 新民市| 织金县| 普陀区| 台东市| 乌拉特中旗| 岳池县| 青阳县| 雅安市| 德昌县| 洛阳市| 玛多县| 岱山县| 从化市| 西乡县| 儋州市| 韶关市| 金寨县| 平阳县| 新泰市| 洪泽县| 长阳| 高陵县| 古田县| 平乡县| 长武县| 焦作市| 云林县| 昆山市|