一个简易的通讯录.py

 ̄綄美尐妖づ 提交于 2020-03-24 01:20:43

看到简明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 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!