Python 文件类型详解 及 生成使用 so/pyd文件

系统 2222 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条评论