一个简单的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抓取网页正文的源码
Jun 11 Python
python实现获取客户机上指定文件并传输到服务器的方法
Mar 16 Python
python图像处理之镜像实现方法
May 30 Python
教你用Python脚本快速为iOS10生成图标和截屏
Sep 22 Python
Python的IDEL增加清屏功能实例
Jun 19 Python
Python基于多线程操作数据库相关问题分析
Jul 11 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
Jan 23 Python
python sorted方法和列表使用解析
Nov 18 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
Feb 05 Python
Python正则表达式高级使用方法汇总
Jun 18 Python
Python在字符串中处理html和xml的方法
Jul 31 Python
Python自动化工具之实现Excel转Markdown表格
Apr 08 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程序总是提示验证码输入有误解决方案
2015/01/07 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
PHP类的自动加载与命名空间用法实例分析
2020/06/05 PHP
javascript中创建对象的三种常用方法
2010/12/30 Javascript
js Dialog 实践分享
2012/10/22 Javascript
javascript 文件的同步加载与异步加载实现原理
2012/12/13 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
jQuery 中$(this).index与$.each的使用指南
2014/11/20 Javascript
利用Angularjs中模块ui-route管理状态的方法
2016/12/27 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
2017/05/31 Javascript
Vue中组件之间数据的传递的示例代码
2017/09/08 Javascript
web3.js增加eth.getRawTransactionByHash(txhash)方法步骤
2018/03/15 Javascript
微信小程序实现倒计时补零功能
2018/07/09 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
2019/09/03 Javascript
layui 富文本编辑器和textarea值的相互传递方法
2019/09/18 Javascript
浅析我对JS延迟异步脚本的思考
2020/10/12 Javascript
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
简单讲解Python中的数字类型及基本的数学计算
2016/03/11 Python
对python .txt文件读取及数据处理方法总结
2018/04/23 Python
python实现京东秒杀功能
2018/07/30 Python
详解Python Matplot中文显示完美解决方案
2019/03/07 Python
Python中遍历列表的方法总结
2019/06/27 Python
python3安装crypto出错及解决方法
2019/07/30 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
2019/10/18 Python
如何使用python3获取当前路径及os.path.dirname的使用
2019/12/13 Python
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
Mankind西班牙男士护肤品网站:购买皮肤护理、护发和剃须
2017/04/27 全球购物
德国家具折扣店:POCO
2020/02/28 全球购物
大型演出策划方案
2014/05/28 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
校运动会广播稿300字
2014/10/07 职场文书
初中家长评语大全
2014/12/26 职场文书
不服劳动仲裁起诉书
2015/05/20 职场文书
运动会开幕式通讯稿
2015/07/18 职场文书