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

时间:2010-02-03 21:51:33

标签: python

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

5 个答案:

答案 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文件。

解决方案(不是我喜欢的):

Create an encrypted ZIP file in Python

答案 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上使用它。如果你知道,请随时回答。

相关问题