当前位置:  开发笔记 > 编程语言 > 正文

使用Python创建加密的ZIP文件

如何解决《使用Python创建加密的ZIP文件》经验,为你挑选了2个好方法。

我在Python 2.5中使用ZipFile创建一个ZIP文件,它到目前为止工作正常:

import zipfile, os

locfile = "test.txt"
loczip = os.path.splitext (locfile)[0] + ".zip"
zip = zipfile.ZipFile (loczip, "w")
zip.write (locfile)
zip.close()

但我找不到如何加密ZIP文件中的文件.我可以使用系统并调用PKZIP -s,但我想必须有更"Pythonic"的方式.我正在寻找一个开源解决方案.



1> Shin Aoyama..:

我创建了一个简单的库来在python中创建一个密码加密的zip文件.- 在这里

import pyminizip

compression_level = 5 # 1-9
pyminizip.compress("src.txt", "dst.zip", "password", compression_level)

该库需要zlib.

我已经检查过该文件可以在WINDOWS/MAC中提取.


它可以通过pip install pyminizip获得

2> tripleee..:

重复的问题/sf/ask/17360801/建议使用7z而不是zip.我的经历证明了这一点.

复制/粘贴@JFSebastian的答案也是为了完整性:

'myarchive.zip'使用开源7-Zip实用程序创建加密的zip存档(命名):

rc = subprocess.call(['7z', 'a', '-mem=AES256', '-pP4$$W0rd', '-y', 'myarchive.zip'] + 
                     ['first_file.txt', 'second.file'])

要安装7-Zip,请键入:

$ sudo apt-get install p7zip-full

要手动解压缩(以证明与zip utitity的兼容性),请键入:

$ unzip myarchive.zip

P4$$W0rd在提示符下输入.

或者在Python 2.6+中相同:

>>> zipfile.ZipFile('myarchive.zip').extractall(pwd='P4$$W0rd')

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有