✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。

🍎个人主页:算法工程师的学习日志

在一些特殊的情况下出于保护隐私,用户会对压缩包增加密码,这种情况可以用python通过循环来压缩包解压密码,方法原始、简单、粗暴。代码种需要用到zipfile37第三方库。Python 的 zipfile 是一个旨在操作 ZIP 文件的标准库模块。在归档和压缩数字数据时,该文件格式是一种广泛采用的行业标准。可以使用它将几个相关文件打包在一起。它还可以减小文件大小并节省磁盘空间。最重要的是,它促进了计算机网络上的数据交换。

pip install zipfile37

用Python压缩包解压密码代码_压缩包

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压缩包解压密码代码_python_02

用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)

用Python压缩包解压密码代码_python_03