一个简单的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中enumerate的用法实例解析
Aug 18 Python
Python是编译运行的验证方法
Jan 30 Python
python实现网站的模拟登录
Jan 04 Python
python实现聊天小程序
Mar 13 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
Mar 13 Python
python读取大文件越来越慢的原因与解决
Aug 08 Python
Python values()与itervalues()的用法详解
Nov 27 Python
python实现删除列表中某个元素的3种方法
Jan 15 Python
Python正则re模块使用步骤及原理解析
Aug 18 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
Aug 22 Python
Python进程池与进程锁之语法学习
Apr 11 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
虹吸壶是谁发明的?煮出来的咖啡好喝吗
2021/03/04 冲泡冲煮
自动分页的不完整解决方案
2007/01/12 PHP
一个php导出oracle库的php代码
2009/04/20 PHP
php数组函数序列之in_array() 查找数组值是否存在
2011/10/29 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
2015/10/20 PHP
浅谈关于PHP解决图片无损压缩的问题
2017/09/01 PHP
PHP实现通过文本文件统计页面访问量功能示例
2019/02/13 PHP
说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
2009/04/01 Javascript
javascript 树控件 比较好用
2009/06/11 Javascript
js中传递特殊字符(+,&)的方法
2014/01/16 Javascript
详解JavaScript对W3C DOM模版的支持情况
2015/06/16 Javascript
js实现带有介绍的Select列表菜单实例
2015/08/18 Javascript
js实现的二级横向菜单条实例
2015/08/22 Javascript
js生成1到100的随机数最简单的实现方法
2020/02/07 Javascript
js实现批量删除功能
2020/08/27 Javascript
Vue项目打包部署到apache服务器的方法步骤
2021/02/01 Vue.js
Python脚本实现自动发带图的微博
2016/04/27 Python
Python实现包含min函数的栈
2016/04/29 Python
基于Python log 的正确打开方式
2018/04/28 Python
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
详解KMP算法以及python如何实现
2020/09/18 Python
python实现一个简单RPC框架的示例
2020/10/28 Python
Django用户认证系统如何实现自定义
2020/11/12 Python
用python对oracle进行简单性能测试
2020/12/05 Python
深入浅析css3 中display box使用方法
2015/11/25 HTML / CSS
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
介绍一下Python下range()函数的用法
2013/11/07 面试题
儿媳婚宴答谢词
2014/01/14 职场文书
会计电算化实训报告
2014/11/04 职场文书
2016高三毕业赠言寄语
2015/12/04 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书
2016春季运动会开幕词
2016/03/04 职场文书
2019已经过半,你知道年中工作总结该怎么写吗?
2019/07/03 职场文书
导游词之青岛太清宫
2019/12/13 职场文书
Go 自定义package包设置与导入操作
2021/05/06 Golang
Maven学习----Maven安装与环境变量配置教程
2021/06/29 Java/Android