一个简单的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入门及进阶笔记 Python 内置函数小结
Aug 09 Python
在Python中使用mongoengine操作MongoDB教程
Apr 24 Python
基python实现多线程网页爬虫
Sep 06 Python
Python设计模式编程中Adapter适配器模式的使用实例
Mar 02 Python
3分钟学会一个Python小技巧
Nov 23 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
Jan 03 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
Jun 28 Python
使用Puppeteer爬取微信文章的实现
Feb 11 Python
Python Websocket服务端通信的使用示例
Feb 25 Python
Python使用socket_TCP实现小文件下载功能
Oct 09 Python
Python代码覆盖率统计工具coverage.py用法详解
Nov 25 Python
Python写情书? 10行代码展示如何把情书写在她的照片里
Apr 21 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 GeoIP的使用教程
2011/03/09 PHP
Opcache导致php-fpm崩溃nginx返回502
2015/03/02 PHP
php实现简单的MVC框架实例
2015/09/23 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
PHP实现简单登录界面
2019/10/23 PHP
非常好的js代码
2006/06/27 Javascript
Javascript 刷新全集常用代码
2009/11/22 Javascript
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
2016/08/10 Javascript
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
jQuery实现的简单悬浮层功能完整实例
2017/01/23 Javascript
详解webpack 多页面/入口支持&公共组件单独打包
2017/06/29 Javascript
jquery一键控制checkbox全选、反选或全不选
2017/10/16 jQuery
详解开源的JavaScript插件化框架MinimaJS
2017/10/26 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
2018/01/13 Javascript
vue 权限认证token的实现方法
2018/07/17 Javascript
在Vue-cli里应用Vuex的state和mutations方法
2018/09/16 Javascript
vue 表单验证按钮事件交由父组件触发的方法
2018/12/17 Javascript
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
javascript canvas时钟模拟器
2020/07/13 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
5种Python单例模式的实现方式
2016/01/14 Python
Python 40行代码实现人脸识别功能
2017/04/02 Python
Pycharm中Python环境配置常见问题解析
2020/01/16 Python
a标签下载链接的简单实现
2016/09/13 HTML / CSS
TripAdvisor印尼站:全球领先的旅游网站
2018/03/15 全球购物
Chi Chi London官网:购买连衣裙和礼服
2020/10/25 全球购物
本科生的职业生涯规划范文
2014/01/09 职场文书
大学生入党思想汇报
2014/01/14 职场文书
财务主管岗位职责
2014/02/28 职场文书
医院领导班子四风问题对照检查材料
2014/10/26 职场文书
优秀团支部申报材料
2014/12/26 职场文书
2015年党日活动总结范文
2015/03/25 职场文书
隐形的翅膀观后感
2015/06/10 职场文书
python编写函数注意事项总结
2021/03/29 Python