用python实现快速更新配置
来源:互联网 发布:政府oa办公软件 编辑:程序博客网 时间:2024/06/14 19:57
#!/usr/bin/env python#name bearcatfly def fetch(backend): # 查询函数 result = [] # 结果先设置空列表 with open("config", 'r', encoding='utf-8') as f: # 以utf-8编码读取config文件 flag = False for line in f: # 一行一行读取 # 如果一行以backend开头并且这一行等于用户输入的backend信息,则flag设置为True if line.strip().startswith("backend") and line.strip() == "backend " + backend: flag = True continue # 继续执行下一句 # 接下来有两种情况,一种是有信息,另一种是没有信息,直接下一个backend if flag and line.strip().startswith("backend"): # 如果flag = True并且是以backend开头,直接退出 flag = False break if flag and line.strip(): # 如果flag = True并且不是以backend开头,这就是我们需要的信息 result.append(line.strip()) # 把line放在结果中 return resultdef add(backend, record): record_list = fetch(backend) if not record_list: #为什么要not,record.list是真,not+真为假,主要为了代码有简单到复杂 # backend不存在,无record with open("config", 'r', encoding='utf-8') as old, open("config_new", 'w') as new: for line in old: new.write(line) new.write("\nbackend " + backend + "\n") new.write(" " * 8 + record + "\n") else: # backend 存在 if record in record_list: # record已经存在 pass else: # backend 存在,record 不存在 record_list.append(record) print(record_list) with open("config", 'r') as old, open("config_new", 'w') as new: flag = False for line in old: if line.strip().startswith("backend") and line.strip() == "backend " + backend: # 这边一个空格很关键 flag = True new.write(line) # new.write("record") for temp in record_list: new.write(" " * 8 + temp + "\n") if flag and line.strip().startswith("backend"): flag = False new.write(line) continue if not flag and line.strip(): new.write(line)bk = "www.hahha.org"rd = "server 100.1.7.96 100.1.7.96 weight 20 maxconn 3000"add(bk, rd)
阅读全文
0 0
- 用python实现快速更新配置
- Python 快速排序 堆排序——Python实现一些算法持续更新
- Android快速实现热更新
- Android快速实现热更新
- Android快速实现热更新
- 用python实现快速排序算法
- 用Python快速实现八皇后问题
- 快速排序Python实现
- python实现快速排序
- Python实现快速排序
- python 实现快速排序
- Python实现快速排序
- 快速排序Python实现
- python实现快速排序
- Python实现快速排序
- python实现快速排序
- python 实现快速排序
- Python实现快速排序
- TeamTalk 详细介绍
- rbtree
- python基础笔记-2
- 深度学习+几何结构:1+1>2?
- mac终端连接阿里云服务器报错WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
- 用python实现快速更新配置
- UML类图的5个关系
- Eclipse安装maven插件
- 解决 Ajax 与导出文件下载冲突的心路历程
- POJ 1611 The Suspects 【并查集】
- 1
- HDU 2.2.5
- 2
- Dependency Management and Naming Conventions