看到简明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
来源:https://www.cnblogs.com/yangxiao-tech/p/8597674.html