加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

Python利用字典将两个通讯录文本合并为一个文本实例

发布时间:2020-12-15 01:05:22 所属栏目:C语言 来源:网络整理
导读:本文实例主要实现的是利用字典将两个通讯录文本合并为一个文本,具体代码如下: def main(): ftele1=open("d:TeleAddressBook.txt","rb") ftele2=open("d:EmailAddressBook.txt","rb") ftele1.readline()#跳过第一行 ftele2.readline() lines1=ftele1.read

本文实例主要实现的是利用字典将两个通讯录文本合并为一个文本,具体代码如下:

def main():
  ftele1=open("d:TeleAddressBook.txt","rb")
  ftele2=open("d:EmailAddressBook.txt","rb")
  ftele1.readline()#跳过第一行
  ftele2.readline()
  lines1=ftele1.readlines()
  lines2=ftele2.readlines()
  dic1={}
  dic2={}
  for line in lines1:#获取第一个文本中的姓名和电话信息
    elements=line.split()
    #将文本中的读出来的bytes转换为str
    dic1[elements[0]]=str(elements[1].decode('gbk'))
  for line in lines2:
    elements=line.split()
    dic2[elements[0]]=str(elements[1].decode("gbk"))

  lines=[]
  lines.append("姓名t  电话t    邮箱n")

  for key in dic1:
    s=''
    if key in dic2.keys():
      s='t'.join([str(key.decode('gbk')),dic1[key],dic2[key]])
      s+='n'
    else:
      s='t'.join([str(key.decode('gbk')),str(' ---- ')])
      s+='n'
    lines.append(s)
  for key in dic2:
    s=''
    if key not in dic1.keys():
      s='t'.join([str(key.decode('gbk')),str(' ---- '),dic2[key]])
      s+='n'
    lines.append(s)
  ftele3=open("d:dizhibook.txt","w")
  ftele3.writelines(lines)
  ftele3.close()
  ftele2.close()
  ftele1.close()
  print("The dizhibook are merged!")
main()

演示结果:

总结

以上就是本文关于Python利用字典将两个通讯录文本合并为一个文本实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

您可能感兴趣的文章:

  • 一个简单的python程序实例(通讯录)
  • Python实现命令行通讯录实例教程

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读