一个简单的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操作mysql中文显示乱码的解决方法
Oct 11 Python
Python使用py2exe打包程序介绍
Nov 20 Python
Python命令行参数解析模块getopt使用实例
Apr 13 Python
Python实现基本数据结构中队列的操作方法示例
Dec 04 Python
浅谈Python对内存的使用(深浅拷贝)
Jan 17 Python
python实现识别手写数字 python图像识别算法
Mar 23 Python
python获取当前目录路径和上级路径的实例
Apr 26 Python
Python面向对象类继承和组合实例分析
May 28 Python
Python数据类型之Number数字操作实例详解
May 08 Python
Python实现字符型图片验证码识别完整过程详解
May 10 Python
Python字符串对象实现原理详解
Jul 01 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
Sep 03 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 时间计算问题小结
2009/01/04 PHP
mysql总结之explain
2012/02/27 PHP
php画图实例
2014/11/05 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
2015/10/19 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
解决tp5在nginx下修改配置访问的问题
2019/10/16 PHP
走出JavaScript初学困境—js初学
2008/12/29 Javascript
原创javascript小游戏实现代码
2010/08/19 Javascript
JQuery的ready函数与JS的onload的区别详解
2013/11/21 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
浅谈jQuery中setInterval()方法
2015/07/07 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
2016/01/04 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器
2016/10/30 Javascript
express框架实现基于Websocket建立的简易聊天室
2017/08/10 Javascript
javaScript canvas实现(画笔大小 颜色 橡皮的实例)
2017/11/28 Javascript
Vue2.0 slot分发内容与props验证的方法
2017/12/12 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
2018/09/05 jQuery
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
微信小程序监听用户登录事件的实现方法
2019/11/11 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
VUE项目实现主题切换的多种方法
2020/11/26 Vue.js
python中的装饰器详解
2015/04/13 Python
django定期执行任务(实例讲解)
2017/11/03 Python
Python实现简单求解给定整数的质因数算法示例
2018/03/25 Python
英国领先的高街书籍专家:Waterstones
2018/02/01 全球购物
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
绘画设计学生的个人自我评价
2013/09/20 职场文书
自我鉴定注意事项
2014/01/19 职场文书
上课迟到检讨书
2014/02/19 职场文书
2014年企业工会工作总结
2014/11/12 职场文书
学校拾金不昧表扬信
2015/01/16 职场文书
redis缓存存储Session原理机制
2021/11/20 Redis