寒假时间不多。希望在有限的时间学习到更多的知识。
这个脚本是照书抄的,主要学习了optparse模块的使用和对之前的复习
# -*- coding: UTF-8 -*-
import zipfile
import optparse
from threading import Thread
#解压方法,传入压缩文件和密码
def extractFile(zFile,password):
try:
zFile.extractall(pwd=password)
print '[+] Found password '+password + '\n'
except:
pass
#主方法,主要用optparse来格式化参数和获取参数。并线程调用解压方法
def main():
#这个是如果不输入参数就会显示下面这个
parser = optparse.OptionParser("usage%prog "+"-f <zipfile> -d <dictionary>")
#设置对应的参数
parser.add_option('-f',dest='zname',type='string',help='specify zip file')
parser.add_option('-d',dest='dname',type='string',help='specify dictonary file')
#获取参数
(options,args)= parser.parse_args()
#如果参数为空
if(options.zname==None)|(options.dname==None):
print parser.usage
exit(0)
else:
#将参数获取的值赋值
zname = options.zname
dname = options.dname
zFile = zipfile.ZipFile(zname)
passFile = open(dname)
for line in passFile.readlines():
#去除每行后面的换行符
password = line.strip('\n')
t = Thread(target=extractFile,args=(zFile,password))
t.start()
if __name__ =='__main__':
main()
运行效果:
对optparse的使用
1.先导入 import optparse
2.创建parser parser = optparse.OptionParser("usage%prog "+"-f <zipfile> -d <dictionary>")
(都有什么参数就写上什么及其对应的)
3.使用add_option来定义命令行参数parser.add_option('-f',dest='zname',type='string',help='specify zip file')
4.获取命令行的参数(options,args)= parser.parse_args()
5.然后用option中的参数值来给变量赋值
zname = options.zname
因为之前在add_option中的dest设置了就可以通过这个来获取对应参数名对应的参数值了。
这些都是自己总结的简单的运用
百度看到有大牛总结的更详细的使用方法
http://www.cnblogs.com/captain_jack/archive/2011/01/11/1933366.html