Python编写电话薄实现增删改查功能


Posted in Python onMay 07, 2016

初学python,写一个小程序练习一下。主要功能就是增删改查的一些功能。主要用到的技术:字典的使用,pickle的使用,io文件操作。代码如下:

import pickle

#studentinfo = {'netboy': '15011038018',\
#                'godboy': '15011235698'}
studentinfo = {}

FUNC_NUM = 5

def write_file(value):
    file = open('student_info.txt', 'wb')
    file.truncate()
    pickle.dump(value, file, True)
    file.close

def read_file():
    global studentinfo
    file = open('student_info.txt', 'rb')
    studentinfo = pickle.load(file)
    file.close()

def search_student():
    global studentinfo
    name = input('please input student\'s name:')
    if name in studentinfo:
        print('name:%s phone:%s' % (name, studentinfo[name]))
    else:
        print('has no this body')

def delete_student():
    global studentinfo
    name = input('please input student\'s name:')
    if name in studentinfo:
        studentinfo.pop(name)
        write_file(studentinfo)
    else:
        print('has no this body')

def add_student():
    global studentinfo
    name = input('please input student\'s name:')
    phone = input('please input phone:')
    studentinfo[name] = phone
    write_file(studentinfo)

def modifiy_student():
    global studentinfo
    name = input('please input student\'s name:')
    if name in studentinfo:
        phone = input('please input student\'s phone:')
        studentinfo[name] = phone
    else:
        print('has no this name')

def show_all():
    global studentinfo
    for key, value in studentinfo.items():
        print('name:' + key + 'phone:' + value)

func = {1 : search_student, \
    2 : delete_student, \
    3 : add_student, \
    4 : modifiy_student, \
    5 : show_all}

def menu():
    print('-----------------------------------------------');
    print('1 search student:')
    print('2 delete student:')
    print('3 add student:')
    print('4 modifiy student:')
    print('5 show all student')
    print('6 exit')
    print('-----------------------------------------------');

def init_data():
    global studentinfo
    file = open('student_info.txt', 'rb')
    studentinfo = pickle.load(file)
    #print(studentinfo)
    file.close()

init_data()
while True:
    menu()
    index = int(input())
    if index == FUNC_NUM + 1:
        exit()
    elif index < 1 or index > FUNC_NUM + 1:
        print('num is between 1-%d' % (FUNC_NUM + 1))
        continue
    #print(index)
    func[index]()

以上就是本文的全部内容,希望对大家学习Python程序设计有所帮助。

Python 相关文章推荐
python端口扫描系统实现方法
Nov 19 Python
python3使用SMTP发送HTML格式邮件
Jun 19 Python
python面试题之列表声明实例分析
Jul 08 Python
Django ImageFiled上传照片并显示的方法
Jul 28 Python
python实现静态web服务器
Sep 03 Python
Python pandas RFM模型应用实例详解
Nov 20 Python
Tensorflow分批量读取数据教程
Feb 07 Python
pycharm 激活码及使用方式的详细教程
May 12 Python
Python使用os.listdir和os.walk获取文件路径
May 21 Python
python实现过滤敏感词
May 08 Python
Python的这些库,你知道多少?
Jun 09 Python
python playwright之元素定位示例详解
Jul 23 Python
Python的dict字典结构操作方法学习笔记
May 07 #Python
Python 类与元类的深度挖掘 II【经验】
May 06 #Python
Python 类与元类的深度挖掘 I【经验】
May 06 #Python
Python 迭代器工具包【推荐】
May 06 #Python
Python中内建函数的简单用法说明
May 05 #Python
Python使用Paramiko模块编写脚本进行远程服务器操作
May 05 #Python
Python环境下搭建属于自己的pip源的教程
May 05 #Python
You might like
下拉列表多级联动dropDownList示例代码
2013/06/27 PHP
php使用curl简单抓取远程url的方法
2015/03/13 PHP
PHP使用token防止表单重复提交的方法
2016/04/07 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
PHP lcfirst()函数定义与用法
2019/03/08 PHP
同一个表单 根据要求递交到不同页面的实现方法小结
2009/08/05 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
2013/07/17 Javascript
火狐textarea输入法的bug的触发及解决
2013/07/24 Javascript
基于jquery实现一张图片点击鼠标放大再点缩小
2013/09/29 Javascript
JsRender for object语法简介
2014/10/31 Javascript
深入理解javascript变量声明
2014/11/20 Javascript
实例讲解JavaScript中的this指向错误解决方法
2016/06/13 Javascript
详解vue+vueRouter+webpack的简单实例
2017/06/17 Javascript
switchery按钮的使用方法
2017/12/18 Javascript
npm配置国内镜像资源+淘宝镜像的方法
2018/09/07 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
2020/11/01 Javascript
使用Python编写基于DHT协议的BT资源爬虫
2016/03/19 Python
Python装饰器用法实例总结
2018/05/26 Python
python生成九宫格图片
2018/11/19 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
python简单的三元一次方程求解实例
2020/04/02 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
美国领先的奢侈美容零售商:Bluemercury
2017/07/26 全球购物
俄罗斯童装网上商店:BebaKids
2020/06/06 全球购物
手术室护士自我鉴定
2013/10/14 职场文书
大学校庆邀请函
2014/01/11 职场文书
升国旗仪式主持词
2014/03/19 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
个人查摆问题自查报告
2014/10/16 职场文书
2015年清剿火患专项行动工作总结
2015/07/27 职场文书
k8s部署redis cluster集群的实现
2021/06/24 Redis