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编程中的包结构
Oct 25 Python
浅谈Python的文件类型
May 30 Python
Python中类的初始化特殊方法
Dec 01 Python
Python3.6使用tesseract-ocr的正确方法
Oct 17 Python
对Python 语音识别框架详解
Dec 24 Python
django-rest-framework解析请求参数过程详解
Jul 18 Python
Python正则表达式学习小例子
Mar 03 Python
Python虚拟环境的创建和使用详解
Sep 07 Python
详解基于python的全局与局部序列比对的实现(DNA)
Oct 07 Python
Python OpenCV快速入门教程
Apr 17 Python
关于Python中*args和**kwargs的深入理解
Aug 07 Python
django中websocket的具体使用
Jan 22 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
模拟xcopy的函数
2006/10/09 PHP
在Windows版的PHP中使用ADO
2006/10/09 PHP
用php守护另一个php进程的例子
2015/02/13 PHP
Javascript中的数学函数
2007/04/04 Javascript
原生Javascript封装的一个AJAX函数分享
2014/10/11 Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
2015/02/02 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
13个PHP函数超实用
2015/10/21 Javascript
分享jQuery封装好的一些常用操作
2016/07/28 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
纯javascript版日历控件
2016/11/24 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
Node.js创建Web、TCP服务器
2017/12/05 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
微信域名检测接口调用演示步骤(含PHP、Python)
2019/12/08 Javascript
js get和post请求实现代码解析
2020/02/06 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
[01:11:02]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python的Twisted框架上手前所必须了解的异步编程思想
2016/05/25 Python
Python中matplotlib中文乱码解决办法
2017/05/12 Python
python根据unicode判断语言类型实例代码
2018/01/17 Python
解决csv.writer写入文件有多余的空行问题
2018/07/06 Python
numpy数组广播的机制
2019/07/12 Python
Python中remove漏删和索引越界问题的解决
2020/03/18 Python
美国顶级水上运动专业店:Marine Products
2018/04/15 全球购物
求职信内容考虑哪几点
2013/10/05 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
学校社会实践活动总结
2014/07/03 职场文书
2014年服务员个人工作总结
2014/12/23 职场文书
毕业证明书
2015/06/19 职场文书
一百条裙子读书笔记
2015/07/01 职场文书
素质拓展训练感想
2015/08/07 职场文书
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js
Python集合的基础操作
2021/11/01 Python
Spring Data JPA框架的核心概念和Repository接口
2022/04/28 Java/Android