一个简单的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实现梯度下降算法
Mar 24 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
Dec 19 Python
Win10 安装PyCharm2019.1.1(图文教程)
Sep 29 Python
原生python实现knn分类算法
Oct 24 Python
Python中os模块功能与用法详解
Feb 26 Python
django实现模板中的字符串文字和自动转义
Mar 31 Python
python 一维二维插值实例
Apr 22 Python
基于FME使用Python过程图解
May 13 Python
获取python运行输出的数据并解析存为dataFrame实例
Jul 07 Python
python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
Jun 05 Python
FP-growth算法发现频繁项集——发现频繁项集
Jun 24 Python
Python之基础函数案例详解
Aug 30 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批量删除cookie的简单实现方法
2015/01/26 PHP
PHP类型约束用法示例
2016/09/28 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
javascript与asp.net(c#)互相调用方法
2009/12/13 Javascript
有道JavaScript监听浏览器的问题
2010/06/23 Javascript
JS读取cookies信息(记录用户名)
2012/01/10 Javascript
如何获取select下拉框的值(option没有及有value属性)
2013/11/08 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
2014/04/14 Javascript
javascript里使用php代码实例
2014/12/13 Javascript
Js控制滑轮左右滑动实例
2015/02/13 Javascript
JavaScript中pop()方法的使用教程
2015/06/09 Javascript
jquery获取css的color值返回RGB的方法
2015/12/18 Javascript
jQuery实现的图片轮播效果完整示例
2016/09/12 Javascript
基于JS实现的随机数字抽签实例
2016/12/08 Javascript
微信小程序 跳转传递数据的实例
2017/07/06 Javascript
AngularJS实现表单验证功能详解
2017/10/12 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
在Python中使用HTML模版的教程
2015/04/29 Python
Python 创建空的list,以及append用法讲解
2018/05/04 Python
详解Python是如何实现issubclass的
2019/07/24 Python
解决springboot yml配置 logging.level 报错问题
2020/02/21 Python
TensorFLow 数学运算的示例代码
2020/04/21 Python
mac安装python3后使用pip和pip3的区别说明
2020/09/01 Python
html5指南-5.使用web storage存储键值对的数据
2013/01/07 HTML / CSS
POP文化和音乐灵感的时尚:Hot Topic
2019/06/19 全球购物
德国领先的大尺码和超大尺码男装在线零售商:Bigtex
2019/06/22 全球购物
银行开业庆典方案
2014/02/06 职场文书
集团公司党的群众路线教育实践活动工作总结
2014/03/03 职场文书
产品开发计划书
2014/04/27 职场文书
入党积极分子个人总结
2015/03/02 职场文书
2015年度企业工作总结
2015/05/21 职场文书
《赵州桥》教学反思
2016/02/17 职场文书
MongoDB使用profile分析慢查询的步骤
2021/04/30 MongoDB
python中对列表的删除和添加方法详解
2022/02/24 Python
《帝国时代4》赛季预告 新增内容编译器可创造地图
2022/04/03 其他游戏