需求:對文件進行增刪改查
由於時間原因,本次代碼沒有增加任何注釋,如有疑問,請聯系編輯者:閆龍
其實我也是醉了,看着這些個代碼,我腦袋也特么大了,沒辦法,大神說了,不讓用新知識,只可以使用學過的,所以代碼復用就不用說了,根本不可能了,希望大家可以看懂這些,別人啃着糟心,自己看着惡心的代碼;
優化工作量很大,還未及時進行,還望各位海涵,謝謝!
# 編輯者:閆龍 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("刪除成功");
