首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将目录压缩为7 7zip密码加密存档?

如何将目录压缩为7 7zip密码加密存档?
EN

Stack Overflow用户
提问于 2014-10-04 07:21:00
回答 2查看 4.8K关注 0票数 0

我想以一种独立于平台的方式,递归地将一个目录压缩成一个密码加密的7zip存档。

我考虑过使用这些方法,但没有一种是可以接受的:

  1. 直接使用subprocess调用7zip可执行文件--这很好,但它不是独立于平台的。
  2. 使用pylzma/py7zlib模块--它们只处理内存中的数据,我无法想象如何使用它们来压缩目录。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-04 13:45:08

据我所知,这是不可能的。但是,如果这些目录和文件夹是--只有才会被您编写的软件操作,那么您可以使用compress-a-folder-recursively-as-7z-with-pylzma-and-py7zlib所示的技术创建自己的“自制”7zip版本。这使用tarfile模块将目录树收集到一个文件中,然后使用lzma / pyliblzma模块进行压缩。

不幸的是,普通的Python模块不提供密码保护/加密。但是您可以添加您自己的文件,只需在压缩之前对tarfile数据进行加密。详情请参见Encrypt & Decrypt using PyCrypto AES 256

票数 1
EN

Stack Overflow用户

发布于 2020-06-28 05:33:11

现在,到2020年6月,它可以使用py7zr v0.8.0 (https://pypi.org/project/py7zr/)。

代码语言:javascript
复制
pip install py7zr


import py7zr
with py7zr.SevenZipFile('target.7z', 'w', password='secret') as arc:
    arc.writeall('.')

然后,您可以观察到与Linux、mac和Windows中的7z命令兼容的target.7z t.7z。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26190631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档