Python代码创建密码加密的zip文件?

Mik*_*keN 13 python

创建密码加密的zip文件的Python代码是什么?我可以在命令行上使用系统使用一些apt-get'able实用程序.

jfs*_*jfs 30

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

rc = subprocess.call(['7z', 'a', '-pP4$$W0rd', '-y', 'myarchive.zip'] + 
                     ['first_file.txt', 'second.file'])
Run Code Online (Sandbox Code Playgroud)

要安装7-Zip,请键入:

$ sudo apt-get install p7zip-full
Run Code Online (Sandbox Code Playgroud)

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

$ unzip myarchive.zip
Run Code Online (Sandbox Code Playgroud)

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

或者在Python 2.6+中相同:

>>> zipfile.ZipFile('myarchive.zip').extractall(pwd='P4$$W0rd')
Run Code Online (Sandbox Code Playgroud)

  • Windows上也提供+1 7-Zip.它支持许多压缩/存档格式,而不仅仅是zip. (2认同)
  • 在 Windows 上,我不得不用 'C:\\Program Files\\7-Zip\\7z.exe' 替换 '7z' (2认同)

Joh*_*lin 5

提取非常简单,只需使用python 2.6中引入的zipfile.ZipFile.setpassword(),但标准的python库缺乏对创建加密zip文件的支持.

有商业上可用的Python库,它支持创建加密和密码保护的zip文件.如果要使用可免费使用的东西,则需要使用标准zip命令行实用程序.

zip -e -Ppassword filename.zip fileA fileB ...


Die*_*tro 5

实际上setpassword("yourpassword")仅对解压有效,对创建 zip 文件无效。

解决方案(不符合我的喜好):

如何创建加密的 ZIP 文件?