用python创建你自己的命令行地址簿程序
来源:互联网 发布:2017程序员 编辑:程序博客网 时间:2024/06/05 03:46
题目来自书籍:Python3简明教程
题目描述:创建你自己的命令行地址簿程序。在这个程序中,你可以添加、修改、删除和搜索你的联系人(朋友、家人和同事等等)以及它们的信息(诸如电子邮件地址和/或电话号码)。这些详细信息应该被保存下来以便以后提取。
做着给的思路:建一个类来表示人的信息。用字典来存储人的对象,可以将名字作为其键值。用pickle 模块将对象永久地存在磁盘上。用字典的内置方法实现增加,删除和修改联系人的信息。
代码:
原始链接:http://blog.csdn.net/chenxingzhen001/article/details/8504126
#!usr/bin/python
#coding: utf-8
#Filename:phonebook.py
# 创建你自己的命令行地址簿程序。
# 在这个程序中,你可以添加、修改、删除和搜索你的联系人(朋友、家人和同事等等)以及它们的信息(诸如电子邮件地址和/或电话号码)。这些详细信息应该被保存下来以便以后提取。
# 创建一个类来表示人的信息。
# 用字典来存储人的对象,可以将名字作为其键值。用pickle 模块将对象永久地存在磁盘上。用字典的内置方法实现增加,删除和修改联系人的信息。
import pickle
import sys
import os
filename = 'phonebook.data'
# 创建一个类来表示人的信息
class member:
def __init__(self, name, mail, phone, address):
self.name = name
self.mail = mail
self.phone = phone
self.address = address
# 搜索联系人
def select():
f = file(filename)
contactlist = pickle.load(f)
print(contactlist)
s = input('Please enter the name which you want to select: ')
print(s, ' : ', contactlist[s])
# 添加、修改联系人
def update():
s = input('Please input contactor\'s name, mail, phone, address, for example: elizabeth,test@163.com,135123345678,Beijing Chaoyang district-->')
s1 = s.split(',')
pp = member(s1[0], s1[1], s1[2], s1[3])
f = file(filename)
contactlist = pickle.load(f)
contactlist[pp.name] = pp.mail + ',' + pp.phone+ ',' + pp.address
f = file(filename, 'w')
pickle.dump(contactlist, f)
f.close()
del contactlist
# print the result
f = file(filename)
contactlist = pickle.load(f)
print(contactlist)
# 删除联系人
def delete():
f = file(filename)
contactlist = pickle.load(f)
print(contactlist)
s = input('Please input the person\'s name which you want to delete: ')
# 如果存在该联系人,则删除该联系人。如果不存在,程序出错,需要处理一下。
del contactlist[s]
print(contactlist)
f = file(filename, 'w')
pickle.dump(contactlist, f)
f.close()
del contactlist
def main():
while True:
menu = input('''
1. select
2. add/update
3. delete
x. exit
''')
if menu == '1':
select()
elif menu == '2':
update()
elif menu == '3':
delete()
elif menu == 'x':
sys.exit()
else:
print('Don\'t have this option, please try again!')
if os.path.exists('phonebook.data'):
main()
else:
f = file('phonebook.data', 'w')
contactlist = {'elizabeth' : 'test@163.com,13512345678,Beijing Chaoyang district'}
pickle.dump(contactlist, f)
f.close()
del contactlist
main()
- 用python创建你自己的命令行地址簿程序
- python创建你自己的命令行,地址簿程序
- python创建命令行地址簿程序
- python创建命令行地址簿程序
- python命令行地址簿程序
- python简明教程练习--命令行 地址簿 程序
- Create Your Own Search Engine with Python 用python创建你自己的搜索引擎(二)
- Create Your Own Search Engine with Python 用python创建你自己的搜索引擎(三)
- Create Your Own Search Engine with Python 用python创建你自己的搜索引擎(完)
- 创建你自己的Framework
- 使用 Python 创建你自己的 Shell (上)
- 使用 Python 创建你自己的 Shell (上)
- 使用 Python 创建你自己的 Shell(下)
- 使用 Python 创建你自己的 Shell (上)
- Python 地址簿程序
- 一个简单的python 地址簿程序
- Python命令行地址簿小程序代码
- 创建你自己的 JavaScript 对象创建你自己的 JavaScript 对象
- maven 打包时,src/main/java目录下的xml等资源文件没有打包进去的问题
- JS中常用的输入输出方法
- xmpp整理笔记:聊天信息的发送与显示
- OpenCV的基本矩阵操作与示例
- 条款 35
- 用python创建你自己的命令行地址簿程序
- Oracle 高水位(HWM: High Water Mark) 说明
- 从一大堆数字中找出几个最大的数
- 高考重要还是身体重要?高考生为避生理期吃避孕药!
- windows下安装和使用mongodb
- 设计模式之建造型-原型模式(5)
- 关于MySQL变量innodb_rollback_on_timeout一些讨论
- R语言基于RJDBC实现oracle/mysql数据库操作
- python 常用函数