py7zr 开源项目教程

py7zr 开源项目教程

py7zr7zip in python3 with ZStandard, PPMd, LZMA2, LZMA1, Delta, BCJ, BZip2, and Deflate compressions, and AES encryption.项目地址:https://gitcode.com/gh_mirrors/py/py7zr

项目介绍

py7zr 是一个纯 Python 实现的 7-zip 库,支持 7z 文件的压缩、解压、加密和解密。该项目由 Hiroshi Miura 开发,遵循 GNU Lesser General Public License v2 或更高版本(LGPLv2+)许可。py7zr 提供了丰富的功能,包括但不限于读取、写入和列出 7z 文件内容。

项目快速启动

安装

首先,使用 pip 命令从 PyPI 安装 py7zr:

pip install py7zr

基本使用

以下是一个简单的示例,展示如何使用 py7zr 进行文件的压缩和解压:

压缩文件
import py7zr

with py7zr.SevenZipFile('target.7z', 'w') as z:
    z.writeall('/base_dir')
解压文件
import py7zr

with py7zr.SevenZipFile('sample.7z', 'r') as z:
    z.extractall(path="/tmp")

应用案例和最佳实践

案例一:aqtinstall

aqtinstall 是一个多平台上的 Qt CLI 安装器,它使用 py7zr 进行文件的压缩和解压操作。

案例二:PreNLP

PreNLP 是一个自然语言处理预处理库,它利用 py7zr 进行数据集的压缩和解压,以便于后续处理。

最佳实践

  • 及时更新:由于早期版本存在路径遍历漏洞(CVE-2022-44900),建议及时更新到最新版本(0.20.2 或更高)。
  • 内存管理:py7zr 在解压和压缩数据时会消耗一定内存(约 300MiB - 700MiB),确保系统有足够的可用内存。

典型生态项目

PyCryptodomex

PyCryptodomex 是一个提供加密原语的 Python 库,py7zr 依赖它来实现加密功能。

PyZstd 和 PyPPMd

PyZstd 和 PyPPMd 分别提供了 Zstandard 和 PPMd 压缩算法的 Python 绑定,py7zr 利用这些库来增强压缩性能。

pybcj 和 texttable

pybcj 提供了 BCJ 转换的支持,而 texttable 用于生成文本格式的表格,这些库共同增强了 py7zr 的功能和易用性。

通过以上内容,您可以快速了解并开始使用 py7zr 开源项目,同时掌握其应用案例和生态系统。

py7zr7zip in python3 with ZStandard, PPMd, LZMA2, LZMA1, Delta, BCJ, BZip2, and Deflate compressions, and AES encryption.项目地址:https://gitcode.com/gh_mirrors/py/py7zr

  • 14
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黎纯俪Forest

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值