Python (七)字典补充
来源:互联网 发布:英语对话软件 编辑:程序博客网 时间:2024/05/16 04:46
字典练习代码以及运行结果,如图:
利用字典将两个通讯录文本合并为一个文本,‘gbk'是用来将中文写入文本,防止乱码情况发生。
文本文件数据如图:
代码如下:
# dictionary2.py# encoding=utf-8# 使用字典结构合并新地址def main(): ftele2=open('TeleAddressBook.txt','rb') ftele1=open('EmailAddressBook.txt','rb') ftele2.readline()#跳过第一行 ftele1.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')),dic1[key],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('AddressBook.txt','w') ftele3.writelines(lines) ftele3.close() ftele2.close() ftele1.close() if __name__ == '__main__': main()
运行结果:
阅读全文
1 0
- Python (七)字典补充
- python学习(基础补充)--字典、条件语句、循环
- (七) Python列表与字典
- python核心编程(七)—字典和集合
- Python笔记(七)--变量类型之字典
- 字典树(待补充)
- 7. Python脚本学习笔记七字典
- 跟我一起学python(七),面对对象--补充篇
- Python字典(Dictionary)
- Python(四)字典
- python:字典(dict)
- 数据字典(Python)
- 字典(python)
- python dictionary(字典)
- Python(六)字典
- python爬虫(中)--补充
- python基础(set)补充
- python 补充
- 查看进程 process
- Windows操作系统中一些有用的工具
- 记一次改造react脚手架的过程
- HDFS核心设计
- sdnu-并查集-weeklyexam ——G
- Python (七)字典补充
- Hello
- AndroidImageSlider自定义其text的字体颜色样式
- 从 Python 到 Tensorflow 的运用
- 算法——插入排序
- Boost库中的函数对象
- hidden symbol ... is referenced by DSO
- TCP协议--带外数据和超时重传
- maven插件lombok