一个简易的通讯录.py

Posted yangxiao-tech

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个简易的通讯录.py相关的知识,希望对你有一定的参考价值。

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

 

以上是关于一个简易的通讯录.py的主要内容,如果未能解决你的问题,请参考以下文章

异常和TCP通讯

golang代码片段(摘抄)

学习.net core mvc 做的一个在线房间棋牌游戏微信支付和及时通讯简易框架

Android - 片段中的联系人选择器

Android 简易手机通讯录(源码)

**简易通讯录