创建密码加密zip文件的Python代码是什么?我可以在命令行上使用系统使用一些apt-get'able实用程序。
答案 0 :(得分:30)
使用开源7-Zip
实用程序创建加密的zip存档(名为'myarchive.zip'
):
rc = subprocess.call(['7z', 'a', '-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')
答案 1 :(得分:5)
提取非常简单,只需使用python 2.6中引入的zipfile.ZipFile.setpassword(),但标准的python库不支持创建加密的zip文件。
Python提供商用库,支持创建加密和密码保护的zip文件。如果要使用可免费使用的东西,则需要使用标准zip
命令行实用程序。
zip -e -Ppassword filename.zip fileA fileB ...
答案 2 :(得分:4)
实际上,setpassword(“yourpassword”)仅对提取有效,而不适用于创建zip文件。
解决方案(不是我喜欢的):
答案 3 :(得分:1)
如果Python不是必须的,并且您可以使用系统实用程序,则zip或rar等工具会提供密码加密压缩。使用-e选项压缩,使用-p使用rar。
答案 4 :(得分:0)
您可以使用Pygpgme创建受密码保护的gpg文件,该文件已压缩。
你需要使用等效的 gpg -c myFile 要么 gpg --symmetric myFile 和 gpg myFile.gpg
我不知道Python模块中的等价物是什么,但我知道它们自0.2版以来就存在。之前有一个错误报告,然后提到缺少它,但是有人发布了一个补丁,他们在版本0.2中修复了它。
这使用对称加密,因此您不必担心密钥。
您可能会发现我的帖子询问如何在UbuntuForums上使用它。如果你知道,请随时回答。