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实现ftp客户端示例分享
Feb 17 Python
Python中的高级函数map/reduce使用实例
Apr 13 Python
各个系统下的Python解释器相关安装方法
Oct 12 Python
python学习必备知识汇总
Sep 08 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
Jun 21 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
Feb 27 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
Mar 10 Python
Django实现前台上传并显示图片功能
May 29 Python
python连接mysql有哪些方法
Jun 24 Python
Python性能测试工具Locust安装及使用
Dec 01 Python
python 实现的车牌识别项目
Jan 25 Python
Python实现文本文件拆分写入到多个文本文件的方法
Apr 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
Fatal error: Call to undefined function curl_init()解决方法
2010/04/09 PHP
PHP JSON 数据解析代码
2010/05/26 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
2011/04/07 PHP
基于curl数据采集之正则处理函数get_matches的使用
2013/04/28 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
php实现的用户查询类实例
2015/06/18 PHP
php断点续传之文件分割合并详解
2016/12/13 PHP
php pdo操作数据库示例
2017/03/10 PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
2019/10/17 PHP
背景音乐每次刷新都可以自动更换
2007/02/01 Javascript
动态添加js事件实现代码
2009/03/12 Javascript
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
javascript 自定义回调函数示例代码
2014/09/26 Javascript
js实现类似jquery里animate动画效果的方法
2015/04/10 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
2015/09/04 Javascript
js实现html table 行,列锁定的简单实例
2016/10/13 Javascript
基于ES6作用域和解构赋值详解
2017/11/03 Javascript
浅谈webpack对样式的处理
2018/01/05 Javascript
javascript中的隐式调用
2018/02/10 Javascript
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
2018/11/30 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
python 动态加载的实现方法
2017/12/22 Python
python pandas库的安装和创建
2019/01/10 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
Django Rest framework认证组件详细用法
2019/07/25 Python
解决使用export_graphviz可视化树报错的问题
2019/08/09 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
2020/04/13 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
Django form表单与请求的生命周期步骤详解
2020/06/07 Python
django 模型字段设置默认值代码
2020/07/15 Python
加拿大最大的相机店:Henry’s
2017/05/17 全球购物
办公室主任职责范文
2013/11/08 职场文书
青春演讲稿范文
2014/05/08 职场文书
Python爬虫实战之爬取携程评论
2021/06/02 Python