Python实现的命令行通讯录
Python #通讯录2012-11-25 22:38
支持添加、删除、修改、搜索你的联系人以及他们的信息,包括性别,手机号码,邮箱和家庭住址。这些信息可以离线保存。
代码如下:
#!/bin/python
#coding=gb2312
import os;
try:
import cPickle as p;
except:
import pickle as p;
class Person:
def __init__(self,name,sex="M",mobile="",email="",address=""):
self.name=name;
self.sex=sex;
self.mobile=mobile;
self.email=email;
self.address=address;
def alterInfo(self,mobile,email,address):
self.mobile=mobile;
self.email=email;
self.address=address;
if os.path.exists("./dir.txt")==False:
dirlist={};#空的通讯录
p.dump(dirlist,open("./dir.txt",'w'),1);#把空的通讯录写入到文本文件中
print "请输入要进行的操作(添加:a,删除:r,修改:m,查找:f,退出:q):";
list=p.load(open("./dir.txt",'r'));
con=True;
while con:
choice=raw_input("请选择你的操作(a,r,m,f,q):");
if choice=='a':
#添加
n1=raw_input("请输入要添加人的姓名:");
s1=raw_input("请输入要添加人的性别:");
m1=raw_input("请输入要添加人的手机号码:");
e1=raw_input("请输入要添加人的邮箱地址:");
a1=raw_input("请输入要添加人的住址:");
per1=Person(n1,s1,m1,e1,a1);
list[n1]=per1;#加入到列表
print "添加%s成功!\n" %n1;
elif choice=='r':
#删除
n2=raw_input("请输入要删除的联系人姓名:");
del list[n2];
print "删除%s成功!\n" %n2;
elif choice=='m':
#修改
n3=raw_input("请输入要修改人的姓名:");
m3=raw_input("请输入要修改人的手机号码:");
e3=raw_input("请输入要修改人的邮箱地址:");
a3=raw_input("请输入要修改人的住址:");
per3=list[n3];
per3.alterInfo(m3,e3,a3);
list[n3]=per3;
print "修改%s成功!\n" %n3;
elif choice=='f':
#查找
n4=raw_input("请输入要查找人的姓名:");
try:
per4=list[n4];
print "%s的信息如下:" %n4;
print "性别:%s,手机:%s,邮箱:%s,住址:%s\n" %(per4.sex,per4.mobile,per4.email,per4.address);
except:
print "%s不存在,没有这个人!\n" %n4;
elif choice=='q':
p.dump(list,open("./dir.txt",'w'),1);
con=False;#退出
else:
print "请输入正确的操作选项! http://yige.org ";
continue;相关文章
- Python中unicode码转utf8的方法 2012/11/25
- Python二叉树算法实现 2012/11/25
- Python实现的豆瓣电影信息查询 2012/11/25
- Python实现双倍超立方数 2012/11/25
- 用Python实现定时关机 2012/11/25
- 用Python实现的简易采集爬虫 2012/11/23
- Python实现QQ登陆 2012/11/23
- 用Python按日期导出所有微信 2012/11/23
- Python使用global语句 2012/11/23
- 说说Python的版本选择、IDE、库 2012/11/23