一个简单的python程序实例(通讯录)


Posted in Python onNovember 29, 2013

核心代码:

#!/usr/bin/python
#Filename:friendbook.py
import cPickle as p
import sys
import time
import os
ab={'Xdex':'cneds@fnedf.com',
        'Laexly':'fev@fe.com',
        'Fukc':'fexok@ver.com',
        'Stifu':'stif@qq.com'
}

def Dumpfile(list):
        f=file(friendab,'w')
        p.dump(list,f)
        f.close()

if os.path.isfile('friendab.data'):
        friendab='friendab.data'
else:
        os.touch('friendab.data')
        Dumpfile(ab)
        del ab

f=file(friendab)
frilist=p.load(f)

class Person:
        def __init__(self,name):
                self.name=name
        def saysome(self):
                print 'The friend %s,his E-mail is %s '%(sname,frilist[sname])
class addPerson:
        def __init__(self,name,email):
                self.name=name
                self.email=email
        def addbook(self):
                ab=frilist
                ab[sname]=email
                Dumpfile(ab)
                del ab
                print 'Succlessful!'
class delPerson:
        def __init__(self,name):
                self.name=name
        def delbook(self):
                ab=frilist
                ab.pop(sname)
                Dumpfile(ab)
                del ab
                print 'Success DEL'
class alterPerson:
        def __init__(self,name,email):
                self.name=name
                self.email=email
        def alterbook(self):
                ab=frilist
                ab[sname]=email
                Dumpfile(ab)
                del ab
                print 'Succlessful update!'
print '''\
This program prints files to the standard output.
Any number of files can be specified.
Options include:
[1] : Search your friend's email from friendsbook
[2] : add your friend's email to firendsbook
[3] : del your friend's email from firnedsbook
[4] : alter your friend's email from friendsbook
[5] : All friends list
[6] : exit the program
'''

num=raw_input('Press the number [1,2,3,4,5] -->')

if (num=='1'):
        sname=raw_input('Enter the name-->')
        if sname in  frilist:
                p=Person(sname)
                p.saysome()
        else:
                print 'Not in it'
elif (num=='2'):
        sname=raw_input('Enter the name-->')
        email=raw_input('Enter the email-->')
        pa=addPerson(sname,email)
        pa.addbook()
        #p=Person(sname)
        #p.saysome()
        print frilist
elif (num=='3'):
        sname=raw_input('Enter the name-->')
        pa=delPerson(sname)
        pa.delbook()
elif (num=='4'):
        sname=raw_input('Enter the name-->')
        if sname in  frilist:
                email=raw_input('Enter the email-->')
                p=alterPerson(sname,email)
                p.alterbook()
        else:
                print 'Not in it'
elif (num=='5'):
        print frilist
elif (num=='6'):
        print "Bye!"
else:
        print "Please input the right number"

注:这是本人写的第一个python,有诸多不足,以后改进

Python 相关文章推荐
python调用cmd复制文件代码分享
Dec 27 Python
小结Python用fork来创建子进程注意事项
Jul 03 Python
开始着手第一个Django项目
Jul 15 Python
如何利用python查找电脑文件
Apr 27 Python
python实现点对点聊天程序
Jul 28 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
Nov 01 Python
python 扩展print打印文件路径和当前时间信息的实例代码
Oct 11 Python
python绘制彩虹图
Dec 16 Python
基于Pytorch SSD模型分析
Feb 18 Python
解决Python spyder显示不全df列和行的问题
Apr 20 Python
浅谈Python 函数式编程
Jun 20 Python
python如何控制进程或者线程的个数
Oct 16 Python
Python时间戳与时间字符串互相转换实例代码
Nov 28 #Python
python计算程序开始到程序结束的运行时间和程序运行的CPU时间
Nov 28 #Python
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
Nov 27 #Python
Pyramid添加Middleware的方法实例
Nov 27 #Python
linux环境下安装pyramid和新建项目的步骤
Nov 27 #Python
Pyramid将models.py文件的内容分布到多个文件的方法
Nov 27 #Python
Pyramid Mako模板引入helper对象的步骤方法
Nov 27 #Python
You might like
php ignore_user_abort与register_shutdown_function 使用方法
2009/06/14 PHP
PHP输出时间差函数代码
2013/01/28 PHP
什么情况下可以不写PHP的闭合标签“?>”
2014/08/28 PHP
直接生成打开窗口代码,不必下载
2008/05/14 Javascript
jquery.pagination.js 无刷新分页实现步骤分享
2012/05/23 Javascript
js取得url地址参数实例
2013/02/22 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
js实现滑动到页面底部自动加载更多功能
2017/02/15 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
2017/07/19 Javascript
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
axios+Vue实现上传文件显示进度功能
2019/04/14 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
vue实现树状表格效果
2020/12/29 Vue.js
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
详细探究Python中的字典容器
2015/04/14 Python
Python 遍历子文件和所有子文件夹的代码实例
2016/12/21 Python
Sanic框架请求与响应实例分析
2018/07/16 Python
Python中分支语句与循环语句实例详解
2018/09/13 Python
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
Python Datetime模块和Calendar模块用法实例分析
2019/04/15 Python
Python3查找列表中重复元素的个数的3种方法详解
2020/02/13 Python
django 数据库 get_or_create函数返回值是tuple的问题
2020/05/15 Python
Python读写Excel表格的方法
2021/03/02 Python
基于 HTML5 WebGL 实现的垃圾分类系统
2019/10/08 HTML / CSS
Charlotte Tilbury美国官网:英国美妆品牌
2017/10/13 全球购物
澳大利亚领先的折扣药房:Chemist Direct(有中文站)
2018/11/24 全球购物
哄娃神器4moms商店:美国婴童用品品牌
2019/03/07 全球购物
Hush Puppies澳大利亚官网:舒适的男女休闲和正装鞋
2019/08/24 全球购物
机械制造专业个人的自我评价
2013/12/28 职场文书
大学生关于奋斗的演讲稿
2014/01/09 职场文书
家长会欢迎标语
2014/06/24 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
升职自荐信范文
2015/03/27 职场文书