Python基础第12天

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础第12天相关的知识,希望对你有一定的参考价值。

  一:三级菜单直接退出的方法(tag的用法)

tag=True
while tag:
    print(level1)
    choice=input(level1>>: ).strip()
    if choice == quit:break
    if choice == quit_all: tag = False
    while tag:
        print(level2)
        choice=input(level2>>: ).strip()
        if choice == quit: break
        if choice == quit_all: tag = False
        while tag:
            print(level3)
            choice = input(level3>>: ).strip()
            if choice == quit: break
            if choice == quit_all:tag=False

二:对文件处理 (增删改查)

import os
def file_handler(backend_data,res=None,type=fetch):
    if type == fetch:
        with open(renkoupucha,r) as read_f:
            tag=False  #标识一种状态
            ret=[]
            for read_line in read_f:
                if read_line.strip() == backend_data:#去除转行空格
                    tag=True
                    continue
                if tag and  read_line.startswith(backend):
                    break
                if tag:
                    print(read_line,end=‘‘)
                    ret.append(read_line)
        return ret
    elif type == change:
        with open(renkoupucha, r)as read_f,                 open(renkoupucha_new, w)as write_f:
            tag = False
            has_write = False
            for read_line in read_f:
                if read_line.strip() == backend_data:
                    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(renkoupucha, renkoupucha.bak)
        os.rename(renkoupucha_new, renkoupucha)
        os.remove(renloupucha.bak)

def fetch(data):
    backend_data=backend %s %data
    return file_handler(backend_data)



def add():
    pass

def change(data):
    # print(‘这是修改功能‘)
    print(用户输入的数据是,data)# data[0]#文档当中的一条记录
    backend=data[0][backend]
    backend_data=backend %s %backend

    old_server_recored=%s server %s %s weight %s maxconn %s%( *8,data[0][record][server],
                                                               data[0][record][server],
                                                               data[0][record][weight],
                                                               data[0][record][maxconn],)
    new_server_recored = %s server %s %s weight %s maxconn %s % (  * 8, data[1][record][server],
                                                                   data[1][record][server],
                                                                   data[1][record][weight],
                                                                   data[1][record][maxconn],)
    print(用户想要修改的记录是,old_server_recored)
    res = fetch(data[0][backend])
    print(res)
    if not res or old_server_recored not in res:
        return 修改记录不存在
    else:
        index=res.index(old_server_recored)
        res[index]=new_server_recored    #修改的列表
        res.insert(%s\n %backend_data )

    res.insert(0,%s\n %backend_data)
    file_handler(backend_data,res=res,type=change)

def delete():
    pass

if __name__==__main__:
    msg=‘‘‘
    1:查询
    2:添加
    3:修改
    4:删除
    5:退出
    ‘‘‘
    msg_dic={
        1:fetch,
        2:add,
        3:change,
        4:delete,
    }
    while True:
        print(msg)
        choice=input(请输入你的选项: ).strip()
        if not choice:continue
        if choice ==5:break

        data=input(请输入你的数据:).strip()
        if choice != 1:
            data=eval(data)
        res=msg_dic[choice](data)
        print(最终结果,res)

 

    

 

以上是关于Python基础第12天的主要内容,如果未能解决你的问题,请参考以下文章

20200120--python学习第12天

100天精通Python(进阶篇)——第40天:pymongo操作MongoDB数据库基础+代码实战

第2天:Python 基础语法

Python每日一练(牛客新题库)——第12天:循环语句

100天精通Python(基础篇)——第1天:Python和Vscode环境安装

Python基础第14天