Python实战1——address_book.py

来源:互联网 发布:周继红 田亮 知乎 编辑:程序博客网 时间:2024/06/05 23:45
# 地址簿程序import pickle as pimport sysclass Person:       #实际上不用类也可实现    def __init__(self,name,address):        self.name=name        self.address=address    def __Print__(self):        print('%s 的地址为:%s'%(self.name,self.address))book={}filename='MyAddressBook.txt'try:    f=open(filename,'rb')    book=p.load(f)    f.closeexcept EOFError:         pass#如果f为空的话会报错,实际上影响不大,所以这里跳过print('-——————————————-')print('操作编号:')print('1->添加联系人\n2->删除联系人')print('3->修改联系人\n4->查找联系人')print('5->打印当前地址列表\n其他->保存文件')print('-——————————————-')while True:    sel=input('请选择要进行的操作:')    if sel=='1':        name=input('>输入联系人的姓名:')        address=input('>输入联系人的地址:')        book[name]=address        print('已添加%s!'%name)    elif sel=='2':        name=input('>输入联系人的姓名:')        if name in book:            del book[name]        else:            print('该联系人不存在!')            print('已删除%s!'%name)    elif sel=='3':        name=input('>输入联系人的姓名:')        address=input('>重新输入联系人的地址:')        book[name]=address        print('已修改%s!'%name)    elif sel=='4':        name=input('>输入联系人的姓名:')        if name in book:            print('%s 的地址为:%s'%(name,book[name]))        else:            print('该联系人不存在!')    elif sel=='5':        if 0==len(book):            print('地址簿是空的呢!')        else:            print('*****************')            print('>>>>>地址列表<<<<\n')            for name,address in book.items():                print('%s:%s'%(name,address))            print('\n*****************')    else:        breakf=open(filename,'wb')p.dump(book,f)f.closeprint('保存完成!')f=open(filename,'rb')           b=p.load(f)f.close#这个地方加这几行代码,是因为不加的话会出现问题:#当f为空之后,下一次运行就算输入数据也不会被保存。#不知道为什么会这样。sys.exit()
原创粉丝点击