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 02 Python
python引入导入自定义模块和外部文件的实例
Jul 24 Python
Python SQLite3简介
Feb 22 Python
VScode编写第一个Python程序HelloWorld步骤
Apr 06 Python
pycharm: 恢复(reset) 误删文件的方法
Oct 22 Python
python实现播放音频和录音功能示例代码
Dec 30 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
Aug 21 Python
用python爬取历史天气数据的方法示例
Dec 30 Python
如何使用python代码操作git代码
Feb 29 Python
Django 再谈一谈json序列化
Mar 16 Python
python logging 重复写日志问题解决办法详解
Aug 04 Python
最新pycharm安装教程
Nov 18 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
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
php将fileterms函数返回的结果变成可读的形式
2011/04/21 PHP
php遍历解析xml字符串的方法
2016/05/05 PHP
一段实时更新的时间代码
2006/07/07 Javascript
Javascript valueOf 使用方法
2008/12/28 Javascript
jquery tab插件精简版分享
2011/09/10 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
jquery交替变换颜色的三种方法 实例代码
2013/11/19 Javascript
JsRender for index循环索引用法详解
2014/10/31 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
实例讲解使用原生JavaScript处理AJAX请求的方法
2016/05/10 Javascript
使用JQuery 加载页面时调用JS的实现方法
2016/05/30 Javascript
javascript 动态脚本添加的简单方法
2016/10/11 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
Bootstrap基本组件学习笔记之缩略图(13)
2016/12/08 Javascript
NodeJs使用Mysql模块实现事务处理实例
2017/05/31 NodeJs
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
vue elementui form表单验证的实现
2018/11/11 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
2019/05/28 Javascript
详解Vue 的异常处理机制
2020/11/30 Vue.js
python中的装饰器详解
2015/04/13 Python
python中list列表的高级函数
2016/05/17 Python
十分钟利用Python制作属于你自己的个性logo
2018/05/07 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
详解python持久化文件读写
2019/04/06 Python
一文详述 Python 中的 property 语法
2020/09/01 Python
佛罗里达州印第安河新鲜水果:Hale Groves
2017/02/20 全球购物
高三英语教学反思
2014/01/13 职场文书
绩效管理实施方案
2014/03/19 职场文书
三关爱志愿服务活动方案
2014/08/17 职场文书
永远跟党走演讲稿
2014/09/12 职场文书
个人四风问题对照检查材料
2014/09/26 职场文书
教师党员自我评议不足范文
2014/10/19 职场文书
暑期社会实践证明书
2014/11/17 职场文书
庆祝教师节主题班会
2015/08/17 职场文书