#思路
#获取list长度(例如列表有20条数据,则生成20条数据),生成数组长度为list元素的数据,完成对列表20条数据的批量审核
def createBatchData(self,str_in,list_in):
list2=[]#用于存放替换后的数据
batchAudit=str_in.find('\n')
for a in list_in:
str_Batch=str_in[:batchAudit]#匹配出第一行数据
find_str=str_Batch.rfind(' ')#匹配出结果空格所处下标
Batch_value_source=str_Batch[find_str:] #取出value值
Batch_value_now=Batch_value_source.replace(str(Batch_value_source),str(a)) #替换value值为list里面的数据
str_pinjie_first=str_Batch[:find_str+1]+Batch_value_now #字符拼接
find_str2=str_pinjie_first.find(':') #匹配出结果冒号所处下标
Batch_key=str_pinjie_first[:find_str2] #取出冒号左边的值
Batch_key_brackets_source=re.search('(\W\d+\W)',Batch_key).group() #匹配出[0]
Batch_key_brackets_now=re.sub(Batch_key_brackets_source,str(list_in.index(a)),Batch_key)#替换[0]为list对应的下标
str_pinjie_second=Batch_key_brackets_now+str_pinjie_first[find_str2:] #字符拼接
list2.append(str_pinjie_second) #将替换好的数据添加至list2
list_to_str='\n'.join(list2) #将list2转换为字符串,并以换行符间隔
# print(list_to_str)
last_replace=str_in.replace(str_Batch,list_to_str) #最后完成替换
# print(last_replace)
str_give=self.requestDataToStr_firefoxAndChrome(last_replace) #调用字符转换方法进行请求数据处理
return str_give
if __name__=="__main__":
list1=[28081, 28080, 28079, 28078, 28077, 28076, 28075, 28074, 28073, 28072, 28071, 28070, 28069 ]
createBatchData('''member_finance_id[0]: 28082
total_price: 9800
state: 1
finan_rmk: 432
pay_fees_ascribed: 1''',list1)
输入:
member_finance_id[0]: 28082
total_price: 9800
state: 1
finan_rmk: 432
pay_fees_ascribed: 1
输出:
member_finance_id[0]: 28081
member_finance_id[1]: 28080
member_finance_id[2]: 28079
member_finance_id[3]: 28078
member_finance_id[4]: 28077
member_finance_id[5]: 28076
member_finance_id[6]: 28075
member_finance_id[7]: 28074
member_finance_id[8]: 28073
member_finance_id[9]: 28072
member_finance_id[10]: 28071
member_finance_id[11]: 28070
member_finance_id[12]: 28069
total_price: 9800
state: 1
finan_rmk: 432
pay_fees_ascribed: 1
最终调用请求数据转换方法完成对数据的进一步处理
最终输出:
member_finance_id[0]=28081&member_finance_id[1]=28080&member_finance_id[2]=28079&member_finance_id[3]=28078&member_finance_id[4]=28077&member_finance_id[5]=28076&member_finance_id[6]=28075&member_finance_id[7]=28074&member_finance_id[8]=28073&member_finance_id[9]=28072&member_finance_id[10]=28071&member_finance_id[11]=28070&member_finance_id[12]=28069&total_price=9800&state=1&finan_rmk=432&pay_fees_ascribed=1