一个简单的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中的高级函数map/reduce使用实例
Apr 13 Python
使用Python发送各种形式的邮件的方法汇总
Nov 09 Python
Python基于scapy实现修改IP发送请求的方法示例
Jul 08 Python
AI人工智能 Python实现人机对话
Nov 13 Python
Python实现聊天机器人的示例代码
Jul 09 Python
Python enumerate函数功能与用法示例
Mar 01 Python
Django ORM 常用字段与不常用字段汇总
Aug 09 Python
python调用函数、类和文件操作简单实例总结
Nov 29 Python
Tensorflow训练MNIST手写数字识别模型
Feb 13 Python
Python unittest单元测试openpyxl实现过程解析
May 27 Python
如何使用Cython对python代码进行加密
Jul 08 Python
Python读取多列数据以及用matplotlib制作图表方法实例
Sep 23 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执行速度全攻略(上)
2006/10/09 PHP
php4的session功能评述(三)
2006/10/09 PHP
php下清空字符串中的HTML标签的代码
2010/09/06 PHP
php foreach 参数强制类型转换的问题
2010/12/10 PHP
PHP学习之字符串比较和查找
2011/04/17 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
Yii中创建自己的Widget实例
2016/01/05 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
“不能执行已释放的Script代码”错误的原因及解决办法
2007/09/09 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
通过JS动态创建一个html DOM元素并显示
2014/10/15 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
实现音乐播放器的代码(html5+css3+jquery)
2015/08/04 Javascript
轻松掌握JavaScript单例模式
2016/08/25 Javascript
js实现的光标位置工具函数示例
2016/10/03 Javascript
省市区三级联动jquery实现代码
2020/04/15 Javascript
js实现音频控制进度条功能
2017/04/01 Javascript
使用OPENLAYERS3实现点选的方法
2020/09/24 Javascript
vue.js使用watch监听路由变化的方法
2018/07/08 Javascript
为vue项目自动设置请求状态的配置方法
2019/06/09 Javascript
公众号SVG动画交互实战代码
2020/05/31 Javascript
深入分析JavaScript 事件循环(Event Loop)
2020/06/19 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
2020/10/24 Javascript
vue-quill-editor插入图片路径太长问题解决方法
2021/01/08 Vue.js
解决python 输出是省略号的问题
2018/04/19 Python
python获取服务器响应cookie的实例
2018/12/28 Python
Python 常用模块 re 使用方法详解
2019/06/06 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
2020/02/26 Python
2014新年元旦活动策划方案
2014/02/18 职场文书
实习推荐信
2014/05/10 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
Golang并发操作中常见的读写锁详析
2021/08/30 Golang
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏
python 闭包函数详细介绍
2022/04/19 Python