题目要求
给出下列文档,但求用户可以不用户文本编辑器的情况下修改配置文档
1.只修改backend的配置就可以
2.用户需要输入backend,在输入域名、最后输入具体配置
流程图
代码
#!/usr/bin/env python3
the_key = input("请输入需要修改的标识1")
the_value = input("请输入需要修改的标识2")
the_content = input("请输入需要修改的内容")
with open("setting","r+") as f:
while 1:
line = f.readline() #从第一行开始逐行读取文件
if not line: #判断文件时候读到了最后一行
#将用户输入的内容写入文件
f.write("\n\n%s %s\n %s" % (the_key, the_value, the_content))
break
#判断用户输入的标识1在文件中是否出现
if the_key in line and the_key == line.split()[0]:
# 判断用户输入的标识2在文件中是否出现
if the_value == line.split()[1]:
next_line = len(f.readline()) #获取需要修改的行的长度
t_now = f.tell() #记录现在指针的位置(读完一行后指针会在下一行的开始)
line_start = t_now-next_line #当前位置减去一行的长度获取上一行的起始位置
# 生成一个和需要修改的行的长度一样的空格 -1试为了保留换行符
spacing = " " * (next_line - 1)
f.seek(line_start)
f.write(spacing)
f.seek(line_start)
f.write(" %s\n" % (the_content))
break
原文件
global
log 127.0.0.1 local2
daemon
maxconn 256
log 127.0.0.1 local2 info
defaults
log global
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
option dontlognull
listen stats :8888
stats enable
stats uri /admin
stats auth admin:1234
frontend oldboy.org
bind 0.0.0.0:80
option httplog
option httpclose
option forwardfor
log global
acl www hdr_reg(host) -i www.oldboy.org
use_backend www.oldboy.org if www
backend www.oldboy.org
server 100.1.7.9 100.1.7.9 weight 20 maxconn 3000
backend buy.oldboy.org
server 100.1.7.90 100.1.7.90 weight 20 maxconn 3000