学习python(4) 练习词典功能 查询增加删除更新
来源:互联网 发布:淘宝分割线素材 编辑:程序博客网 时间:2024/05/22 08:02
#-*-coding:utf-8 -*-"""dtc查询单词功能增加单词功能删除单词功能更新单词功能文件内容如下:P0009 Engine Position System Performance Bank 2P000A A Camshaft Position Slow Response Bank 1P000B B Camshaft Position Slow Response Bank 1P000C A Camshaft Position Slow Response Bank 2P000D B Camshaft Position Slow Response Bank 2"""import osdef search():w = raw_input("search word : ")dic = {}f = open("/Python_Data/work/123_OBDII_dtc_en_2.txt",'r')lines = f.readlines()search_success = 0for line in lines:key = line[:5]comment = line[6:]dic[key] = commentif w in dic.keys():search_success = 1print "word\tmean\n"print w,dic[w],print "========查询完毕=============="f.close()breakif search_success ==0:print "Not found~!"def add():while 1:w = raw_input("add word : ")dic = {}f = open("/Python_Data/work/123_OBDII_dtc_en_2.txt",'r')lines = f.readlines()search_success = 0for line in lines:key = line[:5]comment = line[6:]dic[key] = commentif w in dic.keys():search_success = 1f.close()breakif search_success ==1:print"该单词已经存在,重新添加~"else:f.close()breakmean = raw_input("this word mean : ")f1 = open("/Python_Data/work/123_OBDII_dtc_en_2.txt",'a')f1.write(w+' '+ mean + '\n')print"=========添加成功============="f1.close()def delete():w = int(raw_input("delete 哪一行数 : "))i =1f = open("/Python_Data/work/123_OBDII_dtc_en_2.txt",'r')temp = open("/Python_Data/work/temp.txt",'w')while 1:line = f.readline()if line:if i == w:i = i +1print "找到第%d: %s"%(w,line)continueelse:i = i +1writeline = '%s'% linetemp.write(writeline)else:print "文件已到末尾"breakf.close()temp.close()os.remove("/Python_Data/work/123_OBDII_dtc_en_2.txt")os.rename("/Python_Data/work/temp.txt","/Python_Data/work/123_OBDII_dtc_en_2.txt")print "============删除成功===============!"def update():w = int(raw_input("update 哪一行数 : "))f = open("/Python_Data/work/123_OBDII_dtc_en_2.txt",'r+')lines = f.readlines()mean = raw_input("new mean:")lines[w] = mean+ "\n"f = open("/Python_Data/work/123_OBDII_dtc_en_2.txt",'w+')f.writelines(lines)print "========更新完毕=============="f.close()def main():while 1:print "||=================||\n"print "||请选择下面功能...||\n"print "|| a 查询单词功能 ||\n"print "|| b 增加单词功能 ||\n"print "|| c 删除单词功能 ||\n"print "|| d 更新单词功能 ||\n"print "|| e 退出单词功能 ||\n"print "||=================||\n"i = raw_input("选中 : ")if i == 'a'or i == 'A':search()elif i == 'b' or i =='B':add()elif i == 'c' or i =='C':delete()elif i == 'd' or i == 'D':update()elif i =='e' or i =='E':exit()if __name__== '__main__':main()
下面学习开源网上的版本:对比一下差距
# -*- coding: cp936 -*-import os # 读取数据 fname = 'myphonebookdata' if fname in os.listdir('.'): data = {line.strip().split('~')[0]:line.strip().split('~')[1] for line in open(fname,'r').readlines()} else: data = {} #主循环 ask = raw_input('欢迎使用电话本:-) 添加(A)/查找(S)/删除(D)/退出(<ENTER>)? ').strip().lower() while len(ask)>0: if ask=='a': print '开始添加...' name = raw_input('名字: ').strip() while name in data: print '名字已经存在,请重新输入...' name = raw_input('名字: ').strip() number=raw_input('电话号码: ').strip() while len(number)==0: print '空电话号码,请重新输入...' number=raw_input('电话号码: ').strip() data[name] = number print '添加成功!' elif ask=='s': print '开始查找...' name = raw_input('名字: ').strip() if name in data: print '名字\t\t电话号码' print '%s\t\t%s' % (name,data[name]) print '查找完成!' else: print '找不到!' elif ask=='d': print '开始删除...' name = raw_input('名字: ').strip() if name in data: del data[name] print '删除成功!' else: print '没有要删除的名字!' else: print '未定义操作,请重新输入' print ask = raw_input('欢迎使用电话本:-) 添加(A)/查找(S)/删除(D)/退出(<ENTER>)? ').strip().lower() # 写入数据 s = '' for k in data: s += '%s~%s\n' % (k,data[k]) fout = open(fname,'w') fout.write(s) fout.close()
够简洁,最后才对文件写操作。
0 0
- 学习python(4) 练习词典功能 查询增加删除更新
- 学习日记(二)Hibernate用法:针对数据库表数据的增加,查询,更新,删除
- Yii 1.0数据库操作 查询、增加、更新、删除(事务处理)
- Oracle学习笔记(11)----------建表、更新、查询综合练习
- Oracle学习笔记(11)----------建表、更新、查询综合练习
- Yii 1.0数据库操作 查询、增加、更新、删除
- Yii 1.0数据库操作 查询、增加、更新、删除
- Mybatis批量增加、批量更新、批量删除和查询
- 数据库插入查询练习之词典
- 数据库学习笔记和小练习(6)sql查询和更新练习
- Android 学习笔记 Contacts (三)Contacts 查找,增加,更新,删除联系人
- Android 学习笔记 Contacts (三)Contacts 查找,增加,更新,删除联系人
- Android 学习笔记 Contacts (三)Contacts 查找,增加,更新,删除联系人
- 使用PHP实现简易词典查询功能
- php 连接mysql数据库,查询、插入、更新、删除功能
- python学习笔记-(10)python中的词典
- Android4.4 ContentResolver查询图片无效 及 图库删除 增加图片后,ContentResolver不更新的问题解决
- java练习 jtable增加删除
- 实习工作经验
- 修改hadoop的core-site.xml的配置文件不需重启也生效了
- 新的起点、新的开始
- C/C++程序内存布局
- 一段非人的对话
- 学习python(4) 练习词典功能 查询增加删除更新
- MatLab2012b/MatLab2013b 分类器大全(svm,knn,随机森林等)
- Fatal Error[e72]: Segment BANKED_CODE must be defined in a segment definition option (-Z, -b or -P)
- 工作问题积累(八)SetLayeredWindowAttributes(设置透明窗体)
- orcale总结(八)
- Struts 标签判断当前语言环境
- Oracle how to:linux下设置Oracle数据库开机启动
- 网站域名不能访问显示无法连接:注意几个事项
- activiti的spring配置