|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
第17列的split()啥意思?怎么用啊?
1.#利用字符串和列表将两个通讯录文本合并为一个文本
2.def main():
3. ftele1=open('TeleAddressBook.txt','rb')
4. ftele2=open('EmailAddressBook.txt','rb')
5.
6. ftele1.readline()#跳过第一行
7. ftele2.readline()
8. lines1 = ftele1.readlines()
9. lines2 = ftele2.readlines()
10.
11. list1_name = []
12. list1_tele = []
13. list2_name = []
14. list2_email = []
15.
16. for line in lines1:#获取第一个文本中的姓名和电话信息
17. elements = line.split()
18. list1_name.append(str(elements[0].decode('gbk')))
19. list1_tele.append(str(elements[1].decode('gbk'))) #将文本读出来的bytes转换为str类型
20.
21. for line in lines2:#获取第二个文本中的姓名和邮件信息
22. elements = line.split()
23. list2_name.append(str(elements[0].decode('gbk')))
24. list2_email.append(str(elements[1].decode('gbk')))
25.
26. ###开始处理###
27. lines = []
28. lines.append('姓名\t 电话 \t 邮箱\n')
29.
30. #按索引方式遍历姓名列表1
31. for i in range(len(list1_name)):
32. s= ''
33. if list1_name[i] in list2_name:
34. j = list2_name.index(list1_name[i]) #找到姓名列表1对应列表2中的姓名索引位置
35. s = '\t'.join([list1_name[i], list1_tele[i], list2_email[j]])
36. s += '\n'
37. else:
38. s = '\t'.join([list1_name[i], list1_tele[i], str(' ----- ')])
39. s += '\n'
40. lines.append(s)
41.
42. #处理姓名列表2中剩余的姓名
43. for i in range(len(list2_name)):
44. s= ''
45. if list2_name[i] not in list1_name:
46. s = '\t'.join([list2_name[i], str(' ----- '), list2_email[i]])
47. s += '\n'
48. lines.append(s)
49.
50. ftele3 = open('AddressBook.txt', 'w')
51. ftele3.writelines(lines)
52. ftele3.close()
53. ftele1.close()
54. ftele2.close()
55.
56. print("The addressBooks are merged!")
57.
58.if __name__ == "__main__":
59. main()
|
|