看到简明python教程
第16章:创建你自己的命令行 地址簿 程序:在这个程序中,你可以
添加、修改、删除和搜索你的联系人(朋友、家人和同事等等)以及它们的信息(诸如电子邮
件地址和/或电话号码)。这些详细信息应该被保存下来以便以后提取。
思路:利用字典,名字作为key,信息作为value
进阶:储存到本地.TXT中。实现TXT与字典格式的相互转换
下面为比较简陋的代码,实现了新增、查找、删除等简单功能。有一些提示语还可以完善。
#联系人信息删除函数
13 import os 14 #主函数 15 people={}#创建字典 16 while(1):#一直运行 17 people_file=‘E:\\test.txt‘ 18 first=raw_input(‘Enter 1 for input name,Enter 2 for find name,Enter 3 for delect name:‘) 19 if(first==‘1‘):#add 20 name_add=raw_input("Enter name you want to add:") 21 kind_add=raw_input("Enter kind you want to add:") 22 number_add=raw_input("Enter number you want to add:") 23 E_mail_add=raw_input("Enter E_mail you want to add:") 24 people[name_add]=kind_add,number_add,E_mail_add #写入字典 25 f=open(people_file,‘a‘)#以追加模式打开文件 26 for (key,value) in people.items(): 27 f.write(‘%s:%s\n‘%(key,value))#将字典写入txt 28 f.close() 29 30 elif(first==‘2‘):#find 31 find_name=raw_input("Enter name you want to find:") 32 flag=0 33 f=open(people_file,‘r‘)#以只读模式打开文件 34 lines=dict(line.strip().split(‘:‘) for line in f if line)#将文件内容转换为字典模式,怎么个流程暂时不懂 35 for (key,value) in lines.items(): 36 if(key==find_name): 37 print lines[find_name] 38 f.close() 39 flag=1 40 break 41 if(flag==0): 42 print ‘can not find this people‘ 43 44 45 elif(first==‘3‘):#delect 先读出,再删除,再重写 46 del_name=raw_input("Enter name you want to delect:") 47 48 f=open(people_file,‘r‘)#以只读模式打开文件 49 lines=dict(line.strip().split(‘:‘) for line in f if line)#将文件内容转换为字典模式,怎么个流程暂时不懂 50 f.close()#关闭文件 51 for (key,value) in lines.items(): 52 if(key==del_name): 53 del lines[del_name] 54 print ‘delect:‘,del_name 55 f=open(people_file,‘w‘)#以覆盖模式打开文件 56 for (key,value) in lines.items(): 57 f.write(‘%s:%s\n‘%(key,value))#将字典写入txt 58 print ‘%s:%s‘%(key,value) 59 f.close() 60