Python文件操作-文件的增刪改查


需求:對文件進行增刪改查

由於時間原因,本次代碼沒有增加任何注釋,如有疑問,請聯系編輯者:閆龍

其實我也是醉了,看着這些個代碼,我腦袋也特么大了,沒辦法,大神說了,不讓用新知識,只可以使用學過的,所以代碼復用就不用說了,根本不可能了,希望大家可以看懂這些,別人啃着糟心,自己看着惡心的代碼;

優化工作量很大,還未及時進行,還望各位海涵,謝謝!

# 編輯者:閆龍
import os;
Menu = ["查詢","添加","修改","刪除"]
while True:
    for i in range(len(Menu)):
        print(i+1,Menu[i]);
    UserSelect = input("請選擇您要操作的類型>>>:");
    if (UserSelect == "1") :
        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);
        UserSelect = input("請選擇您要查詢的字段>>>:");
        for i,j in dict(TitlesDic[int(UserSelect)]).items():
            print(i+"\n",j);
    if(UserSelect == "2"):
        print("目前只能針對bakend字段進行添加操作")
        bakend = {}
        com = "backend\t"+input("請輸入域名:") + "\n"
        bakend[com] ="";
        bakend[com] +=("\tserver\t"+input("Server:")+"\t");
        bakend[com] +=("weight\t"+input("weight:") + "\t");
        bakend[com] +=("maxconn\t"+input("maxconn:") + "\n");
        with open("haproxy.conf",mode="a+") as ConfFile:
            for i,j in bakend.items():
                ConfFile.writelines(i+j);
        print("添加成功!")
    if(UserSelect == "3"):
        print("目前只能針對backend www.oldboy20.org字段進行修改操作")
        bakend = {}
        WriteDic = {};
        com = "backend\t"+input("請輸入域名:")
        bakend[com] ="";
        bakend[com] +=("\tserver\t"+input("Server:")+"\t");
        bakend[com] +=("weight\t"+input("weight:") + "\t");
        bakend[com] +=("maxconn\t"+input("maxconn:") + "\n");
        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+"\n"+j);
        os.rename("haproxy.conf","haproxy.conf_bak");
        os.rename("haproxy.conf_new", "haproxy.conf");
        print("修改成功!")
    if(UserSelect == "4"):
        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);
        UserSelect = input("請選擇您要刪除的字段>>>:");
        with open("haproxy.conf_new",mode="w+",encoding="utf8") as WriteNewFile:
            WriteDic.pop(list(dict(TitlesDic[int(UserSelect)]).keys())[0])
            for i,j in WriteDic.items():
                WriteNewFile.writelines(i+"\n"+j);
        os.rename("haproxy.conf","haproxy.conf_bak");
        os.rename("haproxy.conf_new", "haproxy.conf");
        print("刪除成功");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM