文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【Python小技巧】.py .pyd .pyw 都是干什么用文件?想分发时加密py脚本文件?

2023-08-31 13:47

关注

文章目录


学习Python有一段时间了, 但Python的文件格式你都了解么?他们的运行机制有哪些区别?

扩展名为 .py 的文件包含 Python 源代码。 这是Python语言脚本文件最常用的格式,文件明文展示代码。

Python 语言如今已成为非常著名的语言。它可用于系统脚本、网络和软件开发以及数学。 Python支持跨平台兼容;意味着用 Python 开发的应用程序可以在不同的平台上运行,如 Windows、MAC、Linux、Raspberry Pi 等。Python 提供了一种类似于英语的简单易读的语法。开发者只需编写几行 Python 代码就可以编写出合理的软件应用程序。由于 Python 在解释器系统上运行,因此代码可以在编写后立即执行,这使得它非常适合原型设计。

但.py文件的缺点显而易见,任何人都可以看到源码,方便修改,但不够安全。而且速度也不够快。

.pyd 文件是用 Python 编写的动态链接库,可以在运行时由其他 Python 代码运行。如果需要对Python源代码加密,而又不想影响使用,即可以将.py文件转换为.pyd文件。

它包含一个或多个 Python 模块,便于代码重用,并为编写应用程序提供模块架构。可以使用 .pyd 扩展名创建和保存 .pyd文件,例如 helloworld.pyd。应用程序开发人员可以使用 import 语句将 PYD 模块包含在他们的应用程序中。 .pyd 文件可以使用适用于 Windows、Mac 和 Linux 操作系统的 Python Software Foundation Python 打开。

.pyd 文件是用 Python 编程语言编写的,是通过编译 Python 代码生成的。

.pyd 文件是由非 Python,其它编程语言编写 (或直接把 .py 文件转换成 .c 中间文件) 编译生成的 Python 扩展模块,是类似 .so .dll 动态链接库的一种 Python 文件。

.py 和 .pyd 文件格式之间的区别?

PY 文件包含按原样执行的源代码,不能作为可重用代码包含在其他 Python 应用程序中。但是,.pyd 文件是要在 Windows 操作系统上使用的动态链接库。

如何创建 .pyd 文件?

编辑调试完.py文件后,通过安装Cython:pip3 install Cython,并在安装后编译对应的.py文件生成.pyd文件。

具体方法见教程:
【Python小技巧】加密又提速,把.py文件编译为.pyd文件(类似dll函数库),你值得拥有!

如何使用.pyd文件?

每个 .pyd 文件实际上都封装了一个 Python module 模块。使用时,采用 import 路径名.modulename 或 from 路径名.modulename import ** 语言,路径名为 .pyd 文件所在的路径。

.pyw 文件是一个 Python 脚本文件,被执行以显示 Python 应用程序的图形用户界面 (GUI)。它由 Python Software Foundation 与 Python 相关联,并使用 PythonW 而不是 Python 执行/运行。执行时,.pyw文件 会弹出一个 GUI 而不是 DOS 控制台来显示输出。因此,Python 实际上是在后台运行脚本。

.pyw 文件格式

.pyw 文件存储为文本脚本文件,可以在 Mac、Windows 和 Linux 操作系统上使用 pythonw 执行。

Python 和 Pythonw 有什么区别?

python.exe 与 . py 文件并在终端窗口中打开和运行。 pythonw.exe 与 . pyw 文件并且不打开终端。

PYW 文件类型主要由 Python Software Foundation 与 Python 相关联。 PYW 文件在 Windows 中用于指示需要使用 pythonw 运行脚本。 EXE 代替 Python。 EXE 以防止 DOS 控制台弹出以显示输出。

注意:采用 PyQt、PySide 等 GUI (图形用户界面) 开发框架开发的程序,源文件仍可采用 .py,无需单独使用 .pyw。


.py 文件作为Python源代码文件,自己编辑,debug用。
.pyd 文件可以在源代码编辑完成基础上,加密打包,用于分发作业环境使用。
.pyw 文件在你不想看见DOS黑窗口的时候使用。当然也可以直接使用pythonw hello.py来运行,就不用改扩展名了。

  1. .pym文件
    .pym 文件是基于 Python 编程语言的宏预处理器文件。可嵌于HTML脚本内运行。
  2. .pyx文件
    .pyx 文件是用类 Python 语言 Pyrex 编写的源代码。
  3. .pyc 文件
    以 .pyc 作扩展名的文件是 python 编译文件。.pyc 文件是不能直接用文本编辑器进行编辑,其优点是 .pyc 文件的执行速度要远快于 .py 文件。 .pyc 文件经简单编译,并未加密,因此,有些工具还能反编译它得出源代码。

来源地址:https://blog.csdn.net/popboy29/article/details/131086841

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯