使用 Python 创建可执行的自解压存档

归档和压缩文件是一项常见任务,通常涉及创建 ZIP 文件以有效地将多个文件和文件夹捆绑到一个包中。虽然 ZIP 文件广泛用于此目的,但有时您可能需要创建自解压存档(SFX 或 SEA)以方便用户。自解压存档是可执行文件,可以自动解压其内容,而不需要单独的解压缩实用程序。在这篇博文中,我们将探讨如何在 Python 中以编程方式创建自解压档案。

用于创建自解压档案的 Python 库

Aspose.ZIP for Python 是一个功能强大且易于使用的 Python 库,用于处理 ZIP 档案。它提供了用于创建、操作和提取 ZIP 文件的各种功能。其显着功能之一是能够创建自解压存档,这可以简化向最终用户分发文件的过程。

您可以下载该库或从PyPI安装它。

> pip install aspose-zip

使用 Python 创建自解压存档

以下是在 Python 中创建可执行自解压存档的步骤。

  • 首先,创建Archive类的对象。
  • 然后,使用 Archive.createentry(string, string) 方法将文件添加到存档中。
  • 创建 SelfExtractorOptions 类的对象来指定自解压存档的选项。
  • 设置标题、图标等选项。
  • 创建 ArchiveSaveOptions 类的对象,并将 selfextractoroptions 属性设置为我们刚刚创建的 SelfExtractorOptions 对象。
  • 最后,使用 Archive.save(string, ArchiveSaveOptions) 方法保存自解压存档文件。

以下代码示例展示了如何在 Python 中创建可执行的自解压存档。

import aspose.zip as az

# 创建档案
with az.Archive() as archive:
    # 将文件添加到存档中
    archive.create_entry("file", "file.txt")

    # 设置自解压存档的选项
    sfx_options = az.saving.SelfExtractorOptions()
    sfx_options.extractor_title = "Extractor"
    sfx_options.close_window_on_extraction = True
    #sfx_options.title_icon = "assets\\icon.ico"

    # 设置 ZIP 存档选项
    archive_options = az.saving.ArchiveSaveOptions()
    archive_options.self_extractor_options = sfx_options

    # 创建并保存存档
    archive.save('self_extracting_archive.exe', archive_options)

使用命令行执行自解压存档

由于我们已经创建了一个可执行的自解压存档,因此您可以执行该存档以提取其内容。如果您想使用命令行,可以使用以下命令提取存档。

C:>archive.exe -autoExtract 

在这里,-autoExtract 是让您提取存档的主要选项。如果存档受密码保护,您可以使用 -password 选项指定密码,如以下命令所示。

C:>archive.exe -autoExtract -password:T0p$ecret

Python ZIP 库 - 获取免费许可证

通过获取免费的临时许可证,您可以在 Python 中创建可执行的自解压存档,而不受评估限制。

学习资源

使用以下资源了解有关 Python ZIP 库的更多信息:

在线 ZIP 工具

访问我们的免费用于处理 ZIP 档案的在线工具。这些工具由 Aspose.ZIP for Python 提供支持,不需要您创建帐户。

结论

创建自解压存档可以消除对单独解压缩实用程序的需要,从而简化向最终用户分发文件的过程。 Aspose.ZIP for Python 只需几行代码即可轻松创建自解压档案。在这篇博文中,我们介绍了用 Python 创建自解压存档的过程。您可以轻松地将库集成到 Python 应用程序中,并简化使用档案的过程。

也可以看看