zoukankan      html  css  js  c++  java
  • Python练习-函数(方法)的定义和应用

    需求:对文件进行增删改查,使用函数调用的方式完成操作

    # 编辑者:闫龙
    import MyFuncation;
    Menu = ["查询","添加","修改","删除"]
    while True:
        for i in range(len(Menu)):
            print(i+1,Menu[i]);
        UserSelect = input("请选择您要操作的类型>>>:");
        if (UserSelect == "1") :
            MyFuncation.SelectConf();
        elif(UserSelect == "2"):
            MyFuncation.InsertConf();
        elif(UserSelect == "3"):
            MyFuncation.UpdateConf();
        elif(UserSelect == "4"):
            MyFuncation.DeleteConf();
        elif(UserSelect.upper() == "Q"):
            break;
    程序主文件调用函数
    # 编辑者:闫龙
    import os
    import time
    def SelectConf():
        "查询haproxy.conf中指定字段的内容"
        TitlesDic = {};
        count = 0;
        with open("haproxy.conf", mode="r+", encoding="utf8") as  ConfFile:
            ConfRead = ConfFile.readlines();
            for i in ConfRead:
                if (not i[0].isspace()):
                    count += 1;
                    TitlesDic[count] = {};
                    TitlesDic[count][i.strip()] = "";
                    Titles = i.strip();
                else:
                    TitlesDic[count][Titles] += i;
        for i in TitlesDic.keys():
            k = list(dict(TitlesDic[i]).keys())[0]
            print(i, k);
        UserSelectTwo = input("请选择您要查询的字段>>>:");
        for i, j in dict(TitlesDic[int(UserSelectTwo)]).items():
            print(i + "
    ", j);
    
    def InsertConf():
        "在haproxy,conf中追加一段内容"
        print("目前只能针对bakend字段进行添加操作")
        bakend = {}
        com = "backend	" + input("请输入域名:") + "
    "
        bakend[com] = "";
        bakend[com] += ("	server	" + input("Server:") + "	");
        bakend[com] += ("weight	" + input("weight:") + "	");
        bakend[com] += ("maxconn	" + input("maxconn:") + "
    ");
        with open("haproxy.conf", mode="a+") as ConfFile:
            for i, j in bakend.items():
                ConfFile.writelines(i + j);
        print("添加成功!")
    
    def UpdateConf():
        "修改haproxy.conf中的指定内容"
        print("目前只能针对backend www.oldboy20.org字段进行修改操作")
        bakend = {}
        WriteDic = {};
        com = "backend	" + input("请输入域名:")
        bakend[com] = "";
        bakend[com] += ("	server	" + input("Server:") + "	");
        bakend[com] += ("weight	" + input("weight:") + "	");
        bakend[com] += ("maxconn	" + input("maxconn:") + "
    ");
        with open("haproxy.conf", mode="r+", encoding="utf8") as  ConfFile:
            ConfRead = ConfFile.readlines();
            for i in ConfRead:
                if (not i[0].isspace()):
                    Titles = i.strip();
                    WriteDic[Titles] = "";
                else:
                    WriteDic[Titles] += i;
        with open("haproxy.conf_new", mode="w+", encoding="utf8") as WriteNewFile:
            WriteDic.pop("backend www.oldboy20.org")
            WriteDic.update(bakend);
            for i, j in WriteDic.items():
                WriteNewFile.writelines(i + "
    " + j);
        os.rename("haproxy.conf", "haproxy.conf_bak" + time.strftime("%Y%m%d%H%M%S"));
        os.rename("haproxy.conf_new", "haproxy.conf");
        print("修改成功!")
    
    def DeleteConf():
        "删除haproxy.conf中的指定内容"
        TitlesDic = {};
        WriteDic = {};
        count = 0;
        with open("haproxy.conf", mode="r+", encoding="utf8") as  ConfFile:
            ConfRead = ConfFile.readlines();
            for i in ConfRead:
                if (not i[0].isspace()):
                    count += 1;
                    TitlesDic[count] = {};
                    TitlesDic[count][i.strip()] = "";
                    Titles = i.strip();
                    WriteDic[Titles] = "";
                else:
                    TitlesDic[count][Titles] += i;
                    WriteDic[Titles] += i;
        for i in TitlesDic.keys():
            k = list(dict(TitlesDic[i]).keys())[0]
            print(i, k);
        UserSelectTwo = input("请选择您要删除的字段>>>:");
        with open("haproxy.conf_new", mode="w+", encoding="utf8") as WriteNewFile:
            WriteDic.pop(list(dict(TitlesDic[int(UserSelectTwo)]).keys())[0])
            for i, j in WriteDic.items():
                WriteNewFile.writelines(i + "
    " + j);
        os.rename("haproxy.conf", "haproxy.conf_bak" + time.strftime("%Y%m%d%H%M%S"));
        os.rename("haproxy.conf_new", "haproxy.conf");
        print("删除成功");
    定义的函数集合
  • 相关阅读:
    等式
    Lemon 评测软件用法
    同花顺
    浅谈二分图的最大匹配和二分图的KM算法
    LCT总结
    5.30模拟赛
    树上斜率优化
    5.22 noip模拟赛
    KMP,HASH,Trie,AC自动机
    splay总结
  • 原文地址:https://www.cnblogs.com/DragonFire/p/6675048.html
Copyright © 2011-2022 走看看