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中针对函数处理的特殊方法
Mar 06 Python
Django ORM框架的定时任务如何使用详解
Oct 19 Python
Windows下将Python文件打包成.EXE可执行文件的方法
Aug 03 Python
Python3中关于cookie的创建与保存
Oct 21 Python
浅谈python下tiff图像的读取和保存方法
Dec 04 Python
利用python和百度地图API实现数据地图标注的方法
May 13 Python
python导包的几种方法(自定义包的生成以及导入详解)
Jul 15 Python
详解python 中in 的 用法
Dec 12 Python
Python random库使用方法及异常处理方案
Mar 02 Python
使用Keras画神经网络准确性图教程
Jun 15 Python
Django解决frame拒绝问题的方法
Dec 18 Python
Python Django模型详解
Oct 05 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
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
php实现格式化多行文本为Js可用格式
2015/04/15 PHP
document.designMode的功能与使用方法介绍
2007/11/22 Javascript
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
JavaScript中的noscript元素属性位置及作用介绍
2013/04/11 Javascript
javascript的渐进增强与平稳退化浅谈
2013/11/12 Javascript
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
php is_numberic函数造成的SQL注入漏洞
2014/03/10 Javascript
windows下安装nodejs及框架express
2015/08/07 NodeJs
js图片轮播效果实现代码
2020/04/18 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
无需 Flash 使用 jQuery 复制文字到剪贴板
2016/04/26 Javascript
浅析Javascript ES6新增值比较函数Object.is
2016/08/24 Javascript
基于JavaScript实现验证码功能
2017/04/01 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
利用JS做网页特效_大图轮播(实例讲解)
2017/08/09 Javascript
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
Python中的包和模块实例
2014/11/22 Python
Ruby使用eventmachine为HTTP服务器添加文件下载功能
2016/04/20 Python
Python2/3中urllib库的一些常见用法
2017/12/19 Python
python3+PyQt5重新实现自定义数据拖放处理
2018/04/19 Python
python3.6、opencv安装环境搭建过程(图文教程)
2019/11/05 Python
python实现音乐播放和下载小程序功能
2020/04/26 Python
Pycharm配置autopep8实现流程解析
2020/11/28 Python
Python爬虫教程之利用正则表达式匹配网页内容
2020/12/08 Python
飞利信loadrunner和软件测试笔试题
2012/09/22 面试题
竞聘演讲稿范文
2014/01/12 职场文书
小学生新年寄语
2014/04/03 职场文书
环保建议书600字
2014/05/14 职场文书
保护环境倡议书100字
2014/05/19 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
门面房租房协议书
2014/08/20 职场文书
个人先进事迹材料范文
2014/12/29 职场文书
幼儿园开学报名通知
2015/07/16 职场文书