2019年4月27日 修改功能


import os

def search(data): #查询
    print('查询功能%s'%data)
    ret=[]
    backend_data='backend %s'%data
    with open ('test2','r') as read_test2:
        tag=False
        for read_line in read_test2:
            if read_line.strip()==backend_data:#去除/n与/t
                tag=True
                continue#注意格式对齐
            if read_line.startswith('backend') and tag:
                break
            if tag:
             # print(read_line,end='') #将所有下面的都打印出来
                ret.append('%s\n'%read_line.strip())  #增加\n增加换行
    return ret





def add(data):#增加
    print('增加功能=%s'%data)

def change(data):#修改
    # print('修改功能将更改为%s'%data)
    print('用户输入的是%s'%data)
    backend='backend %s'%data[0]
    res=search(data[0])
    print('来自change函数查询到内容', res)
    if not res :
        return '查询到记录不存在'
    else:
        res.append(data[1]+'\n')
        print(res)

    res.insert(0,'%s\n'%backend)  #第一行增加backend sxj
    with open('test2','r') as read_f,\
            open ('test3','w') as write_f:
        tag=False
        has_write=False
        for read_line in read_f:
            if read_line.strip()==backend :
                tag=True
                continue
            if tag and read_line.startswith('backend'):
                tag=False
            if not tag:
                write_f.write(read_line)
            else:
                if not has_write:
                    for record in res:
                        write_f.write(record)
                    has_write=True#用状态的变化控制流程
    os.rename('test3','test2_new')#更改文件名





def delete(data):#删除
    print('删除功能:删除%s'%data)

if __name__=='__main__': #一个规范python中只写功能,执行语句放到if判断下面
    msg='''
    1:查询
    2:添加
    3:修改
    4:删除
    5:退出
    '''
    func_dic={
        '1':search,
        '2':add,
        '3':change,
        '4':delete
    }
    while True:
        print(msg)
        choice=input("请输入选项:").strip()#strip默认去除空格与回车
        if not choice:continue #如果为空则继续循环打印msg
        if choice=='5':break#如果选择5 退出,则break

        data=input('请输入data:').strip()#input输入的是字符串

        if choice != '1':#用户输入的都是字符串 VIP
            data=eval(data)  #如果输入的是字典则自动转化

        res=func_dic[choice](data)
        print('最终结果是》》》》',res)

 

 

 

posted @ 2019-04-27 21:45  小圣庄  阅读(152)  评论(0编辑  收藏  举报