用Python压缩包解压密码代码
精选
原创
©著作权归作者所有:来自51CTO博客作者爱啃鸡爪的小米的原创作品,请联系作者获取转载授权,否则将追究法律责任
✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。
🍎个人主页:算法工程师的学习日志
在一些特殊的情况下出于保护隐私,用户会对压缩包增加密码,这种情况可以用python通过循环来压缩包解压密码,方法原始、简单、粗暴。代码种需要用到zipfile37第三方库。Python 的 zipfile 是一个旨在操作 ZIP 文件的标准库模块。在归档和压缩数字数据时,该文件格式是一种广泛采用的行业标准。可以使用它将几个相关文件打包在一起。它还可以减小文件大小并节省磁盘空间。最重要的是,它促进了计算机网络上的数据交换。
import zipfile37 as zf
import itertools
filename = 'test.zip'
# password = '257'
# 解压函数
def uncompress(filename, password):
try:
with zf.ZipFile(filename) as zfile:
zfile.extractall('./', pwd=password.encode('utf-8')) # 解压到当前目录
return True
except:
return False
chars = '0123456789'
# 迭代生成
for char in itertools.permutations(chars, 3):
# 假设是三位字符
password = ''.join(char)
# print(password)
# 调用前面uncompress方法
result = uncompress(filename, password)
if not result:
print('解压失败!', password)
else:
print('解压成功', password) # 成功了就退出循环
break
用python压缩文件;
import zipfile37 as zp
def zip_files(files, zip_name):
zip = zp.ZipFile(zip_name, 'w', zp.ZIP_DEFLATED)
for file in files:
print('compressing', file)
zip.write(file)
zip.close()
print('compressing finished')
files = ['main1.py', 'main.py'] # 文件的位置,多个文件用“,”隔开
zip_file = 'main111.zip' # 压缩包名字
zip_files(files, zip_file)