求python程序的flag_flag+文件操作

#!/usr/bin/env python#-*- coding:utf-8 -*-

importjsonimportosdeffetch(backend):

backend_title= 'backend %s' %backend

record_list=[]

with open('ha') as obj:

flag=Falsefor line inobj:

line=line.strip()if line ==backend_title:

flag=Truecontinue

if flag and line.startswith('backend'):

flag=Falsebreak

if flag andline:

record_list.append(line)returnrecord_listdefadd(dict_info):

backend= dict_info.get('backend')

record_list=fetch(backend)

backend_title= "backend %s" %backend

current_record= "server %s %s weight %d maxconn %d" % (dict_info['record']['server'], dict_info['record']['server'], dict_info['record']['weight'], dict_info['record']['maxconn'])if notrecord_list:

record_list.append(backend_title)

record_list.append(current_record)

with open('ha') as read_file, open('ha.new', 'w') as write_file:

flag=Falsefor line inread_file:

write_file.write(line)for i inrecord_list:if i.startswith('backend'):

write_file.write(i+'\n')else:

write_file.write("%s%s\n" % (8*" ", i))else:

record_list.insert(0, backend_title)if current_record not inrecord_list:

record_list.append(current_record)

with open('ha') as read_file, open('ha.new', 'w') as write_file:

flag=False

has_write=Falsefor line inread_file:

line_strip=line.strip()if line_strip ==backend_title:

flag=Truecontinue

if flag and line_strip.startswith('backend'):

flag=Falseif notflag:

write_file.write(line)else:if nothas_write:for i inrecord_list:if i.startswith('backend'):

write_file.write(i+'\n')else:

write_file.write("%s%s\n" % (8*" ", i))

has_write=True

os.rename('ha','ha.bak')

os.rename('ha.new','ha')defremove(dict_info):

backend= dict_info.get('backend')

record_list=fetch(backend)

backend_title= "backend %s" %backend

current_record= "server %s %s weight %d maxconn %d" % (dict_info['record']['server'], dict_info['record']['server'], dict_info['record']['weight'], dict_info['record']['maxconn'])if notrecord_list:return

else:if current_record not inrecord_list:return

else:delrecord_list[record_list.index(current_record)]if len(record_list) >0:

record_list.insert(0, backend_title)

with open('ha') as read_file, open('ha.new', 'w') as write_file:

flag=False

has_write=Falsefor line inread_file:

line_strip=line.strip()if line_strip ==backend_title:

flag=Truecontinue

if flag and line_strip.startswith('backend'):

flag=Falseif notflag:

write_file.write(line)else:if nothas_write:for i inrecord_list:if i.startswith('backend'):

write_file.write(i+'\n')else:

write_file.write("%s%s\n" % (8*" ", i))

has_write=True

os.rename('ha','ha.bak')

os.rename('ha.new','ha')if __name__ == '__main__':"""print '1、获取;2、添加;3、删除'

num = raw_input('请输入序号:')

data = raw_input('请输入内容:')

if num == '1':

fetch(data)

else:

dict_data = json.loads(data)

if num == '2':

add(dict_data)

elif num == '3':

remove(dict_data)

else:

pass"""

#data = "www.oldboy.org"

#fetch(data)

#data = '{"backend": "tettst.oldboy.org","record":{"server": "100.1.7.90","weight": 20,"maxconn": 30}}'

#dict_data = json.loads(data)

#add(dict_data)

#remove(dict_data)

demo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值