开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 5 天, 点击查看活动详情
zipfile 是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的, 在这里对 zipfile 的使用方法做一些记录。 zipfile 是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的, 在这里对 zipfile 的使用方法做一些记录。 在一些特殊的情况下出于保护隐私,用户会对压缩包增加密码,这种情况可以用python通过循环来破解压缩包解压密码,方法原始、简单、粗暴。代码种需要用到zipfile37第三方库。Python 的 zipfile 是一个旨在操作 ZIP 文件的标准库模块。在归档和压缩数字数据时,该文件格式是一种广泛采用的行业标准。可以使用它将几个相关文件打包在一起。它还可以减小文件大小并节省磁盘空间。最重要的是,它促进了计算机网络上的数据交换。
pip install zipfile37
import zipfile37 as zfimport 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)