# -*- coding: utf-8 -*- import random import zipfile#压缩包读取或追加 import sys '''生成随机密码''' class MyIterator: #设置密码字符,进行匹配,可加字母 leeters='012345' #最大值 max_values=0 #最小值 min_values=0 #密码的位数 def __init__(self,min_value,max_value): #初始化,每次运行从默认开始 #self是类名,类本身 #交换的位置,是为了一直使最大值大于最小值 if min_value<max_value: self.min_value=min_value self.max_value=max_value else: self.min_value=max_value self.max_value=min_value #生成随机密码 #声明方法 def __iter__(self): #返回自己本身 return self def __next__(self): '''使用最大值、最小值,需要生成的密码字符,来进行随机密码生成''' rst=str() #随机数最大数,+1防止二者相等 for item in range(0,random.randrange(self.min_value,self.max_value+1)): #加载从哪里进行生成密码 rst+=random.choice(MyIterator.leeters) return rst #for p in MyIterator(5,6): #print(p) def extract(): zfile=zipfile.ZipFile('1.zip') for p in MyIterator(3,4): print(p) try: #path=文件解压,members=,pwd=密码 zfile.extractall(path='.',pwd=str(p).encode('utf-8')) print('正确密码',p) sys.exit() except Exception as e:#不报错 pass extract()