字典类型字典:就是包含字典类型的字典,如{'sss': {'ss': 'dddsdsdsd'}}
构造方式:
a={} b="sss" a[b]={} a[b]['ss'] = "dddsdsdsd" print a 》》》{'sss': {'ss': 'dddsdsdsd'}}
应用:
import sys,os,re oui_dict={} ###构造字典 tmp_fp = open("C:\Users\Administrator\Desktop\mac.py-master\mac.py-master\src\macpy\oui.txt", 'rb') while True: current_line=tmp_fp.readline() ###读取一行进行如下判断 if current_line: m = re.match(r"^[0-9A-Z]{6}", current_line) ###对所读到的行进行正则匹配 if m: ###若匹配成功,则进入,否则接着进入while循环往下读 tmp = current_line.split(' ') mac_24 = tmp[0].split(' ')[0] if oui_dict.get(mac_24, None):###get函数不返回none。get获取oui_dict中mac24属性值,所没有返回none oui_dict[mac_24]['com'] += ' / ' + tmp[1].strip()##往字典类型字典添加数据 ####正则匹配成功再往下读3行 oui_dict[mac_24]['addr'] += ' / ' + tmp_fp.readline().strip() oui_dict[mac_24]['re'] += ' / ' + tmp_fp.readline().strip() oui_dict[mac_24]['co'] += ' / ' + tmp_fp.readline().strip() else:####get函数返回none oui_dict[mac_24] = {} oui_dict[mac_24]['com'] = tmp[1].strip()##往字典类型字典添加数据 ####正则匹配成功再往下读3行 oui_dict[mac_24]['addr'] = tmp_fp.readline().strip() oui_dict[mac_24]['re'] = tmp_fp.readline().strip() oui_dict[mac_24]['co'] = tmp_fp.readline().strip() else:###文档读到再无数据跳出while循环 break
oui.txt文档如下: