Python编写电话薄实现增删改查功能

初学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程序设计有所帮助。

相关文章

使用爬虫利器 Playwright,轻松爬取抖查查数据 我们先分析登...
轻松爬取灰豚数据的抖音商品数据 调用两次登录接口实现模拟登...
成功绕过阿里无痕验证码,一键爬取飞瓜数据 飞瓜数据的登录接...
一文教你从零开始入门蝉妈妈数据爬取,成功逆向破解数据加密...
抽丝剥茧成功破解红人点集的签名加密算法 抽丝剥茧破解登录签...
轻松绕过 Graphql 接口爬取有米有数的商品数据 有米有数数据...