# -*- 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()