Day10:ウェブサイトのフェッチと変更機能

1つの インポートOS
 2  DEF file_handler(バックエンド、RES =なし、TYPE = ' フェッチ' ):書き込みを機能データ簡素化するために
 3       かのタイプ==   ' フェッチ' 4を            開いた(と' proxy.conf '' R ' )read_fとして:
 5              タグ= Falseの
 6              RET = []
 7   7          ため READ_LINE read_f:
 8   8              もしread_line.strip()= backend_data:
 9                         タグ= 10が                        引き続き
11                 かのタグ read_line.startswith(' バックエンド' ):
 12                         休憩
13                 であればタグ:       
 14                         プリント' \ 033 [1; 43メートルの%S \ 033 [0メートル'%のREAD_LINE、=エンド'  ' 15                         ret.append(READ_LINE)
 16            リターンRET
 17        かのタイプ==   ' 変更' 18             オープンと(' proxy.conf '' R ')オープン(とread_fとして、' proxy.conf_new '' W ' write_fとして):
 19 = 22タグ20 23 has_write == 21 26             READ_LINE read_f。
 22 27                     もし read_line.strip()= backend_data:
 23 28タグ= 24は、                                引き続き
25を                         場合タグ read_line.startswith(' バックエンド' ):
 26                                    タグ= Falseの
 27                          なら ないタグ:
 28                                 write_f.write(READ_LINE)
 29                          30                                  なら ないhas_write:
 31                                      のためのレコードにおけるRES:
 32                                            write_f.write(レコード)
 33                                      has_write == 34             
35  DEF フェッチ(データ):
 36  2      プリント' \ 033 [1; 43mThis機能\ 033 [0メートルをフェッチ' 37   3      プリント' \ 033 [1; 43mTheデータが\ 033 [0メートルである' 38   5 backend_data = ' バックエンド%S '%のデータ
 39   6      戻りfile_handler(backend_data)
 40   9                 
 41 10 DEF (追加):
 42 11      パス
43 12 デフ変化():
 44 13、バックエンドデータ= [0] [ 'バックエンド' ]
 45 14 backend_data = ' バックエンド%S 'バックエンド
 46 15 old_server_record = ' %sserver%S%重量%のMAXCONN%S \ n '%('  ' * 8、データ[0] [ ' 記録' ] 【' サーバ' ]、DATA [0] [ ' 記録' ] [ ' サーバ' ]、DATA [0] [ ' 記録' ] [ ' 体重' ]、DATA [0] [ ' 記録'] [' MAXCONN ' ])
 47 16 new_server_record = ' %sserver%S%重量%のMAXCONN%S '%('' * 8、データ[1] [ ' 記録' ] [ ' サーバ' ]、データ[1]〜[ ' 記録' ] [ ' サーバ' ]、DATA [1] [ ' 記録' ] [ ' 体重' ]、DATA [1] [ ' 記録' ] [ ' MAXCONN '])
 48 17      プリント'ユーザが変更することをデータは%sである:'old_server_record)
 49の           RESを= フェッチ(バックエンド)
 50           プリント' RESフロンデータは%sである:'%のRES)
 51 18      であれば解像度== 0 または old_server_record ない RES :
 52 19             リターン ' あなたが見つけるコンテンツはありません' 
53           他には54 20インデックス= res.index(old_server_record)
 55の 21 RES [インデックス] =new_server_record
 56 24 res.insert(0、' %S \ n '%のbackend_data)
 57 25      リターン file_handler(backend_data、RES = RES、変化する)
 58   
59           os.rename(' proxy.conf '' proxy.conf.back ' 60           os.rename(' proxy.conf_new '' proxy.conf ' 61           os.remove(' proxy.conf.back ' 62 29 DEF)(削除:
 63である 30      パス
64 31があるIF  __name__ == ' __main__ '裁判官ザ真実
65 32 MSG = 
 66 33である      ' '' 
67  34である1:クエリ
 68  35 2:追加
 69  変更:36 3
 70  37 4:削除
 71は、 38が5:出口
 72  39      '' ' 
73である 40 msg_dic = {
 74 41である          ' 1 ' :、FETCH
 75 42である          ' 2 ':追加、
 76 43          ' 3 ' :変更、
 77 44          ' 4 ' :削除
 78 45      }
 79 46      真中:
 80 47          印刷(MSG)
 81 48選択=入力(' を入力して下さいあなたの選択:' ).strip()
 82 49          もし ない選択肢:引き続き
83 50          もし選択== ' 5 '休憩
8451件のデータ=入力(' 入力してくださいあなたのデータ:' ).strip()
 85 52          であれば選択肢= 1! 86件の 53データ= のeval(データ)
 87 54          msg_dic [選択](データ)
 88 55 データ#input:[ {バックエンド:www.oldboy1.org、レコード:サーバ2.2.2.4 2.2.2.4 20重量MAXCONN 3000}、{バックエンド:www.oldboy1.org、レコード:サーバ2.2.2.5 2.2.2.5 20重量MAXCONN 3000}]

おすすめ

転載: www.cnblogs.com/zxver/p/12168515.html