使用Python的受密码保护的zip文件

时间:2019-05-28 17:47:33

标签: python subprocess zip password-protection

我正在尝试用密码保护我在python脚本中创建的zip文件,但无法弄清为什么当我尝试解压缩时它不接受脚本创建的密码。

#!/usr/bin/env python2.6
import subprocess, random, os

file = "test.csv"
s = "abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()?"
zipPass = "".join(random.sample(s,12))
print zipPass
devnull = open(os.devnull, 'w')
rc = subprocess.call("zip -P "+str(zipPass)+" "+str(file)+".zip "+str(file), shell=True, stdout=devnull, stderr=devnull)

当我运行脚本并尝试解压缩时,得到以下内容;

user@server:/tmp/zip> zip.py
xxxxxxxxx
user@server:/tmp/zip> unzip test.csv.zip
Archive:  test.csv.zip
[test.csv.zip] test.csv password:
password incorrect--reenter:

我已经尝试过复制/粘贴密码,并且只是为了确保手动输入。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

测试您的脚本对我有用。只是请确保删除创建的zip文件运行脚本,并检查它是否是您的脚本创建的zip文件。我说这是因为您没有定义存储zip文件的路径,所以有可能在其他位置创建了文件,并且您正在寻找错误的文件。