#!/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') 0
0
相关文章
如何在 Tkinter Grid 中向指定单元格(行列坐标)写入变量值
如何在 Django 中通过过滤条件安全获取数据库中的多列数据
如何在类中安全复用外部循环变量调用字符串方法
如何在类中安全复用外部循环变量作为方法调用名?
如何在 Python 数据类继承中为父类必填字段设置子类默认值
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
Clawdbot是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。
15
2026.01.29
clawdbot龙虾机器人官网入口:https://clawd.bot/,clawdbot ai是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。
12
2026.01.29
本专题系统讲解 Golang 在网络安全与加密技术中的应用,包括对称加密与非对称加密(AES、RSA)、哈希与数字签名、JWT身份认证、SSL/TLS 安全通信、常见网络攻击防范(如SQL注入、XSS、CSRF)及其防护措施。通过实战案例,帮助学习者掌握 如何使用 Go 语言保障网络通信的安全性,保护用户数据与隐私。
8
2026.01.29
2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。
546
2026.01.28
本合集汇总了包子漫画2026最新官方在线观看入口,涵盖备用域名、正版无广告链接及多端适配地址,助你畅享12700+高清漫画资源。阅读专题下面的文章了解更多详细内容。
194
2026.01.28
AO3最新中文版官网入口合集,汇总2026年主站及国内优化镜像链接,支持简体中文界面、无广告阅读与多设备同步。阅读专题下面的文章了解更多详细内容。
330
2026.01.28
本合集涵盖PHP接口开发基础、RESTful API设计、数据交互与安全处理等实用教程,助你快速掌握PHP接口编写技巧。阅读专题下面的文章了解更多详细内容。
11
2026.01.28
本专题系统讲解 Java 在消息队列与异步系统架构中的核心应用,涵盖消息队列基本原理、Kafka 与 RabbitMQ 的使用场景对比、生产者与消费者模型、消息可靠性与顺序性保障、重复消费与幂等处理,以及在高并发系统中的异步解耦设计。通过实战案例,帮助学习者掌握 使用 Java 构建高吞吐、高可靠异步消息系统的完整思路。
11
2026.01.28
热门下载
相关下载
精品课程
最新文章

