import zipfile
filename = "C:/Users/86181/Desktop/新建文件夹/机密.zip"
def uncompress(filename, passward):
try:
with zipfile.ZipFile(filename, "r") as zfile:
zfile.extractall(path = "C:/Users/86181/Desktop", pwd = passward.encode("utf-8"))
return True
except:
return False
for i in range(10000):
password = "{:04d}".format(i)
result = uncompress(filename, password)
if not result:
print("解压失败",password)
else:
print("解压成功",password)
break
请教一下大家哪里错了
你先把try去掉看看出了什么错误信息
测试使用winrar,在压缩文件中设置默认密码时,需要勾选“zip传统加密”,用如下代码测试可遍历出结果。
import itertools
import zipfile
filename = r"F:\2021\qa\ot2\t1.zip"
def uncompress(filename,password):
try:
with zipfile.ZipFile(filename,'r') as zfile:
zfile.extractall(path=r"F:\2021\qa\ot2\imgs", pwd=password.encode('utf-8'))
return True
except:
return False
chars = "1234567890"
for c in itertools.permutations(chars,4):
password = "".join(c)
print(password)
result = uncompress(filename,password)
if result:
print("解压成功",password)
break
else:
print("解压失败", password)
如对你有帮助,请点采纳。