简单的通讯录实现,A byte of Python的例子

#!/bin/python
#coding=utf8
import os
try:
	import cPickle as p
except:
	import pickle as p

class Person:
	def __init__(self,name,mobile=\'\',email=\'\',address=\'\'):
		self.name = name
		self.mobile = mobile
		self.email = email
		self.address = address

	def modifyInfo(self,mobile,email,address):
		self.mobile = mobile
		self.email = email
		self.address = address

if os.path.exists("./contact.data")==False:
	dirlist = {}
	p.dump(dirlist,open("./contact.data",\'w\'),1)

print "请输入要进行的操作(添加:a,删除:d,修改:m,查找:f,退出:q)"
dict = p.load(open("./contact.data",\'r\'))
flag = True
while flag:
	choice = raw_input("请选择你的操作:a,d,m,f,q")
	if choice == \'a\':
		n1 = raw_input("姓名:")
		m1 = raw_input("电话")
		e1 = raw_input("邮箱")
		a1 = raw_input("地址")
		per = Person(n1,m1,e1,a1)
		dict[n1]=per
		print \'添加%s成功\n\'%n1
	elif choice == \'d\':
		n2 = raw_input("姓名")
		del dict[n2]
		print \'删除%s成功\n\'%n2
	elif choice == \'m\':
		n3 = raw_input("姓名")
		m3 = raw_input("电话")
		e3 = raw_input("邮箱")
		a3 = raw_input("地址")
		per3 = dict[n3]
		per3.modifyInfo(m3,e3,a3)
		dict[n3] = per3
		print \'修改%s成功\n\'%n3
	elif choice == \'f\':		
		n4 = raw_input("姓名")
		try:	
			per4 = dict[n4]
			print \'%s 的信息如下\'%n4
			print \'手机:%s,邮箱:%s,地址:%s\'%(per4.mobile,per4.email,per4.address)
		except Exception,e:
			print e #打印异常信息
              print traceback.format_exc() print \'不存在这个人%s\'%n4 elif choice == \'q\': p.dump(dict,open("./contact.data",\'w\'),1) flag = False else: print \'请输入正确的选项\' continue

  

 

版权声明:本文为devtao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/devtao/p/3398212.html