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中何种情况下需要使用断言
Apr 01 Python
PyQt5每天必学之工具提示功能
Apr 19 Python
Python 分享10个PyCharm技巧
Jul 13 Python
python实现将json多行数据传入到mysql中使用
Dec 31 Python
浅谈Pycharm最有必要改的几个默认设置项
Feb 14 Python
通过自学python能找到工作吗
Jun 21 Python
使用matplotlib的pyplot模块绘图的实现示例
Jul 12 Python
Python用来做Web开发的优势有哪些
Aug 05 Python
python开发入门——列表生成式
Sep 03 Python
python如何调用百度识图api
Sep 29 Python
python中%格式表达式实例用法
Jun 18 Python
理解python中装饰器的作用
Jul 21 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
PHP防范SQL注入的具体方法详解(测试通过)
2014/05/09 PHP
PHP安全上传图片的方法
2015/03/21 PHP
犀利的js 函数集合
2009/06/11 Javascript
js获取url参数值的两种方式
2013/09/10 Javascript
跟我学Nodejs(三)--- Node.js模块
2014/05/25 NodeJs
js实现特定位取反原理及示例
2014/06/30 Javascript
用javascript读取xml文件读取节点数据
2014/08/12 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
2015/03/25 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
2016/08/05 Javascript
JS表格组件BootstrapTable行内编辑解决方案x-editable
2016/09/01 Javascript
微信小程序 教程之WXSS
2016/10/18 Javascript
使用BootStrap进行轮播图的制作
2017/01/06 Javascript
Nodejs 发送Post请求功能(发短信验证码例子)
2017/02/09 NodeJs
jQuery异步提交表单实例
2017/05/30 jQuery
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
JavaScript Canvas实现验证码
2020/08/02 Javascript
深入理解nodejs搭建静态服务器(实现命令行)
2019/02/05 NodeJs
vue分页器组件编写方法详解
2019/06/28 Javascript
vue 使用axios 数据请求第三方插件的使用教程详解
2019/07/05 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
javascript实现鼠标点击生成文字特效
2019/12/24 Javascript
prettier自动格式化去换行的实现代码
2020/08/25 Javascript
[02:56]DOTA2英雄基础教程 巨魔战将
2013/12/10 DOTA
python生成器的使用方法
2013/11/21 Python
Python的shutil模块中文件的复制操作函数详解
2016/07/05 Python
TensorFlow实现iris数据集线性回归
2018/09/07 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
我就是这样学习Python中的列表
2019/06/02 Python
在python shell中运行python文件的实现
2019/12/21 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
Python 多线程共享变量的实现示例
2020/04/17 Python
CSS3+DIV实现漂亮的动画彩色标签
2016/06/16 HTML / CSS
小学端午节活动方案
2014/03/13 职场文书
职员竞岗演讲稿
2014/05/14 职场文书