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

文章目录

前言

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

一、什么是 .py 文件?

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

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

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

二、什么是 .pyd 文件?

.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 文件?

.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 文件经简单编译,并未加密,因此,有些工具还能反编译它得出源代码。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年8月17日
下一篇 2023年8月17日

相关推荐