python 电话本管理小程序

发布时间:2020-03-05编辑:脚本学堂
分享一个python实现折电话本管理小程序,python cPickle模块的例子,电话本管理,可以进行添加,删除,修改,查询用户。

python代码:    
 

复制代码 代码示例:
#!/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')