上次已經(jīng)進(jìn)行了圖解。本次將展示一些主要的函數(shù):
效果圖:
下面是服務(wù)器展示函數(shù):
#################################### 4 服務(wù)器展示函數(shù) srv_record_show () ################ def srv_record_show(srv_zone_name, svr_zones_dict): ############對sys名稱進(jìn)行遍歷并加上數(shù)字編號########################### print('\n================================================================================') print('(%s)服務(wù)器信息如下 : ' % srv_zone_name) print('%-5s %-18s %-18s %-18s %-18s' % ('id', 'name', 'address', 'weight', 'maxconn')) svr_detail = svr_zones_dict[srv_zone_name] for k, v in enumerate(svr_detail, 1): ###用enumerate進(jìn)行unit_record展示### print('%-5s ' % k, end='') for kk, vv in v.items(): print('%-18s' % vv, end='|') print() print('\n=========================================================================') #########################################################################################效果圖如下:
主程序如下:
##################################主程序開始############################################# if __name__ == '__main__': flag = True ### 腳本運行的標(biāo)志 ### sys_zone_name_ky = 'backend' ### 系統(tǒng)的 名稱 ### srv_zone_name_vl = '' ### 服務(wù)器組的名稱 例如:Oracle sys_cfg_file = 'configuretion.cfg' ###指定sys的配置文件### svr_zones_all_dict = {} ### svr_zones_all_dict字典 記錄各服務(wù)器的詳細(xì)信息 ### srv_zone_all_names_dict = {} ### svr_name_ky 字典(由svr_name_ky列表和 數(shù)字編號 組成的字典)### global_opt2 = '' srv_zone_name_vl_num = '' while flag: ### 循環(huán)M ### os.system('cls') ###清屏### print('\n \033[38m ================================================================') print(' \033[36m 歡迎使用 數(shù)據(jù)庫服務(wù)器 配置文件管理平臺:\033[0m') print('\033[32m ================================================================') print(''' \033[39m 1. 查詢具體服務(wù)器\033[0m \033[34m 2. 添加具體服務(wù)器\033[0m \033[39m 3. 修改服務(wù)器列表\033[0m \033[34m 4. 刪除服務(wù)器列表\033[0m \033[31m 0. 退出\033[0m ''') print('================================================================') select_num = input('\033[30m 請按 數(shù)字鍵(0~4) 選擇:\033[0m') ##################################### 0 退出 exit ############################### if select_num == '0': flag = False continue while select_num in ['1','2','3','4'] : ### 循環(huán) 0 ### if select_num == '1':temp_vl = '查看' #temp_vl 為下一步顯示對應(yīng)選定的操作而設(shè)置的臨時參數(shù) if select_num == '2':temp_vl = '添加' if select_num == '3':temp_vl = '修改' if select_num == '4':temp_vl = '刪除' old_select_num = select_num print('\n %-8s ZONE 服務(wù)器組信息如下 : ' % sys_zone_name_ky) (srv_zone_all_names_dict, svr_zones_all_dict) = sys_show(sys_cfg_file) print('\033[32m ================================================================') input_content = input('\033[39;1m請輸入進(jìn)行\(zhòng)033[33;1m%s\033[0m操作的服務(wù)器組的編號或名稱' \ '(返回主菜單,請輸入B or b):\033[0m' % temp_vl ) ############################## 對輸入值進(jìn)行過濾 ############################# (srv_zone_name_vl, tmp_flag) = content_filter(input_content, srv_zone_all_names_dict) if srv_zone_name_vl: ###顯示對應(yīng) srv_zone 下的服務(wù)器列表### srv_record_show(srv_zone_name_vl, svr_zones_all_dict) if tmp_flag == False : break ##################################### 1 查詢服務(wù)器信息 ###################### if select_num == '1': continue ##################################### 2. 更新服務(wù)器信息 ##################### while select_num == old_select_num and srv_zone_name_vl: ### 循環(huán)1 ### if select_num in [ '3', '4' ]: ###判斷修改、刪除選項中輸入的服務(wù)器編號準(zhǔn)確性### srv_zone_name_vl_num = input('\033[32;1m請輸入\033[33;1m%s\033[0m的服務(wù)器的編號,((N|n)返回上級菜單):\033[0m'% temp_vl) if srv_zone_name_vl_num in ['N', 'n']: break if len(srv_zone_name_vl_num) != 0: srv_zone_name_vl_num = input_str2int(srv_zone_name_vl_num) #####################指定具體的server編號進(jìn)行判斷##### elif srv_zone_name_vl_num not in range(1, len(svr_zones_all_dict[srv_zone_name_vl]) + 1): print('超出范圍,請重新輸入?。?!') continue ###srv_zone_name_vl_num不在在服務(wù)器組個數(shù)范圍之內(nèi),提示并重新選擇### if select_num in [ '2','3' ]: ###添加和修改服務(wù)器時進(jìn)行的操作步驟:更新服務(wù)器列表### update_srv_dict = OrderedDict() (update_srv_dict, select_num) = update_svr_dict(update_srv_dict,select_num) if select_num in [ '4' ]: print(svr_zones_all_dict[srv_zone_name_vl][srv_zone_name_vl_num - 1]) #顯示被選中刪除的服務(wù)器列表# if select_num == old_select_num : ###如果在以上操作中沒有進(jìn)行取消操作,則選擇參數(shù)不會變化,維持原來的用戶操作。### update_opt = input('(Y|y)\033[33;1m%s\033[0m此服務(wù)器,任意鍵取消:' % temp_vl) if update_opt in ['y','Y']: if select_num == '2': svr_zones_all_dict[srv_zone_name_vl].append(update_srv_dict) if select_num == '3': svr_zones_all_dict[srv_zone_name_vl][srv_zone_name_vl_num - 1] =update_srv_dict if select_num == '4': del svr_zones_all_dict[srv_zone_name_vl][srv_zone_name_vl_num - 1] wrt2cfg(sys_cfg_file, svr_zones_all_dict) srv_record_show(srv_zone_name_vl, svr_zones_all_dict) print('\033[33;1m%s\033[0m成功!' % temp_vl) else : ###如果在添加、修改、刪除過程中,選擇了取消,則select_num=5 ,對應(yīng)操作皆被取消### print("\033[33;1m%s\033[0m被取消" % temp_vl) global_opt2 = input('(Y|y)繼續(xù)\033[33;1m%s\033[0m本組服務(wù)器,(N|n)返回重新選擇服務(wù)器組,(B|b)返回主菜單:' % temp_vl) ###以上所有操作完成后,根據(jù)用戶需求,修正select_num 數(shù)值,提示用戶下一步操作。### if global_opt2 in ['B', 'b']: ### 遇到select_num = '5'時,返回主菜單。### select_num = '5' print("返回主菜單。") elif global_opt2 in ['N', 'n']: ###用戶繼續(xù)選擇服務(wù)器組,繼續(xù)進(jìn)行對原來的操作select_num = old_select_num,。### select_num = old_select_num break else: select_num = old_select_num ###在原來選擇的服務(wù)器組中,繼續(xù)進(jìn)行操作。### else: sys.exit('\033[36m 程序退出,歡迎使用,謝謝! \033[0m') #########################################################################################部分截圖如下:
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享題目:Python讀寫一個配置文件的實例分解(二)-創(chuàng)新互聯(lián)
鏈接URL:http://chinadenli.net/article40/depceo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、云服務(wù)器、搜索引擎優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、微信小程序、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容