在利用列表将两个文本内容合并为一个文本之后的基础上,稍加修改之后,可以用字典来实现
def main(): ftele1 = open('C:/Users/Administrator/Desktop/TeleAddressBook.txt','r') ftele2 = open('C:/Users/Administrator/Desktop/EmailAddressBook.txt','r') ftele1.readline() #跳过第一行 ftele2.readline() lines1 = ftele1.readlines() lines2 = ftele2.readlines() dict1 = {} #字典方式保存 dict2 = {} for line in lines1: #获取第一个文本中的姓名和电话信息 elements = line.split() dict1[elements[0]] = str(elements[1]) for line in lines2: elements = line.split() dict2[elements[0]] = str(elements[1]) ####开始处理########## lines = [] lines.append("name\t tele\t email\n") for key in dict1: s = '' if key in dict2.keys(): s = '\t'.join([key,dict1[key],dict2[key]]) s += '\n' else: s = '\t'.join([key,dict1[key],str('------')]) s += '\n' lines.append(s) for key in dict2: s = '' if key not in dict1.keys(): s = '\t'.join([key,str('---------'),dict2[key]]) s += '\n' lines.append(s) ftele3 = open("C:/Users/Administrator/Desktop/merge.txt",'w') ftele3.writelines(lines) ftele3.close() ftele2.close() ftele1.close() print "The addressBooks are merged!" main()