#!/usr/bin/env python
#coding=utf-8
#电话本管理,可以进行添加,删除,修改,查询用户信息
import cPickle as p
class Telephone:
def __init__(self):
'''构造方法 '''
def addPeople(self,name,email,telephone):
"""添加用户"""
teleDict = self.getDictData()
if teleDict:
infoList = [name,email,telephone]
teleDict[name] = infoList
self.writefile(teleDict)
else:
teleDict = {}
infoList = [name,email,telephone]
teleDict[name] = infoList
self.writefile(teleDict)
def delPeople(self,name):
"""删除用户"""
teleDict = self.getDictData()
if name in teleDict.keys():
del teleDict[name]
self.writefile(teleDict)
else:
print name,'is not in dict'
def editPeople(self,name,emial,telephone):
""" 修改信息"""
teleDict = self.getDictData()
if name in teleDict.keys():
infoList = [name,email,telephone]
teleDict[name] = infoList
self.writefile(teleDict)
print name+'edit success'
else:
print name,'is not in dict'
def getPeople(self,name):
"""获取用户信息"""
teleDict = self.getDictData()
if teleDict:
if name in teleDict.keys():
people = teleDict[name]
print people
else:
print name,'is not in dict'
else:
print 'people is empty'
def writefile(self, dictData):
""" 写入文件"""
f = file('dict.data','w')
p.dump(dictData,f)
f.close()
def getDictData(self):
""" 获取文件内容"""
fileName = 'dict.data'
try:
f = file(fileName)
teleDict = p.load(f)
return teleDict
except:
print 'open file error'
# 提示 信息
def notice():
print "please enter 1-get people 2-add people 3-edit pelole 4-del people 5-get all people 0-
break"
if __name__ == "__main__":
while(True):
notice()
userInput = int(raw_input())
people = Telephone()
if userInput == 1:
name = raw_input("please enter user name:")
people.getPeople(name)
elif userInput == 2:
name = raw_input("enter name:")
email = raw_input("enter emai:")
telephone = raw_input("enter telephone:")
people.addPeople(name,email,telephone)
elif userInput == 3:
name = raw_input("enter name:")
email = raw_input("enter emai:")
telephone = raw_input("enter telephone:")
people.editPeople(name,email,telephone)
elif userInput == 4:
name = raw_input("enter del people name:")
people.delPeople(name)
elif userInput == 5:
allpeople = people.getDictData()
if allpeople:
for key in allpeople:
print key,allpeople[key]
else:
print 'there is no people'
elif userInput == 0:
break
else:
print 'you select number is wrong'
raw_input('press enter')