原理非常简单,不说了直接上代码
update:说一些注意点,python3.x 下的string不支持bytes编码方式,而python2.x下是支持的.encode(),和decode()方法就是进行编码方式的转换
#!/usr/bin/python
import zipfile
import threading
def extractfile(zFile, password):
try:
zFile.extractall(path='./', pwd=password)
print('DL_Theano.zip')
print('password:' + password.decode() + '\n')
except:
pass
def main():
print('start')
zFile = zipfile.ZipFile('DL_Theano.zip')
password_file = open('dictionary.txt')
for line in password_file.readlines():
password = line.strip('\n')
# index = extractfile(zFile, password.encode())
# if index == 0:
# break
t = threading.Thread(target=extractfile, args=(zFile, password.encode()))
t.start()
if __name__ == '__main__':
main()
# zFile = zipfile.ZipFile('1.zip')
# zFile.extractall(path='./', pwd='123'.encode())