import os

def file_handler(backend_data,res=None,type='fetch'):                  # 查询功能
if type == 'fetch':
with open('test_new.txt','r') as read_f:
ret = []
tag = False
for read_line in read_f:
if read_line.strip() == backend_data:
tag = True
continue if tag and read_line.startswith('backend'):
break if tag:
print(read_line,end='')
ret.append(read_line)
return ret
if type == 'change': # 修改功能
with open('test_new.txt', 'r') as read_f, \
open('test_new.txt_new', 'w') as write_f:
tag = False
has_write = False
for read_line in read_f:
if read_line.strip() == backend_data:
tag = True
continue
if tag and read_line.startswith('backend'):
tag = False
if not tag:
write_f.write(read_line)
else:
if not has_write:
for record in res:
write_f.write(record)
has_write = True os.rename('test_new.txt', 'test_new.txt.bak')
os.rename('test_new.txt_new', 'test_new.txt')
os.remove('test_new.txt.bak') def fetch(data):
print('您输入的信息是:',data)
backend_data= 'backend %s' % data
return file_handler(backend_data) def change(data):
print('开始修改功能')
print('用户输入的信息是:',data)
backend=data[0]['backend']
backend_data='backend %s' %backend
old_server_record ='%s server %s %s\n'%(*9,data[0]['record']['server'])
new_server_record = '%s server %s %s\n' % (*9, data[1]['record']['server'])
print('您想要修改的记录:',old_server_record)
res=fetch(backend)
print(res)
if not res or old_server_record not in res:
return '您要修改的信息不存在'
else:
index = res.index(old_server_record)
res[index]=new_server_record res.insert(0,'%s\n' %backend_data)
file_handler(backend_data,res=res,type='change') if __name__== '__main__':
msg='''
1:查询
2:修改
5:退出
'''
msg_dic={
'':fetch,
'':change
}
while True:
print(msg)
choose = input('请输入您要的选项:').strip()
if not choose: continue
if choose == '':break data = input('请输入您的信息:').strip()
if choose != '':
data = eval(data) res = msg_dic[choose](data) # 查询到的结果放到一个列表里输出
print('最终的结果:',res)
05-08 14:57
查看更多