def replace(data): p = "#(.*?)#" # 正则表达式 while re.search(p, data): print(data) m = re.search(p, data) # 从任意位置开始找,找第一个就返回Match object, 如果没有找None g = m.group(1) # 拿到参数化的KEY v = config.get('data', g) # 根据KEY取配置文件里面的值 print(v) # 记得替换后的内容,继续用data接收 data = re.sub(p, v, data, count=1) # 查找替换,count查找替换的次数 return data
def replace(data): p = "#(.*?)#" # 正则表达式 while re.search(p, data): print(data) m = re.search(p, data) # 从任意位置开始找,找到第一个就返回Match object,如果没有找None print(m.group(0)) # 返回表达式和组里面的内容 print(m.group(1)) # 只返回指定组的内容 g = m.group(1) # 拿到参数化的key v = config.get('data', g) # 根据key取配置文件里面的值 print(v) # 记得替换后的内容,继续用data接收 data = re.sub(p, v, data, count=1) # 查找替换,count查找替换的次数 return data
def replace(data): p = "#(.*?)#" # 正则表达式 while re.search(p, data): print("替换前的data", data) m = re.search(p, data) g = m.group(1) #拿到参数化的key v = config.get('data', g) #根据key取配置文件里面的值 print(v) # 记得把替换后的内容用data接收 data = re.sub(p, v, data, count=1) # print("替换后的data", data) # print("最后替换后的data", data) return data
def request(self, method, url, data=None, json=None): method = method.upper() # 拼接请求的url url = config.get('api', 'pre_url') + url if type(data) == str: data = eval(data) # str 转成字典 if method == 'GET': resp = self.session.request(method=method, url=url, params=data) elif method == 'POST': if json: resp = self.session.request(method=method, url=url, json=json) else: resp = self.session.request(method=method, url=url, data=data) else: resp = None print('UN-support method') return resp
def request(self, method, url, data=None, json=None, cookies=None): method = method.upper() #强制转成全大写 if type(data) == str: data = eval(data) # str 转成字典 #拼接请求的url url = config.get('api', 'pre_url') + url if method == 'GET': resp = requests.get(url, params=data, cookies=cookies) # resp 是Response对象 elif method == 'POST': if json: resp = requests.post(url, json=json, cookies=cookies) else: resp = requests.post(url, data=data, cookies=cookies) else: print('UN-support method') return resp
def request(self, method, url, data=None, json=None): method = method.upper() # 将method强制转成全大小 if type(data) == str: data = eval(data) # str转成字典 # 拼接URL url = config.get('api', 'pre_url') + url print('请求url:', url) print('请求data:', data) if method == 'GET': resp = self.session.request(method=method, url=url, params=data) elif method == 'POST': if json: resp = self.session.request(method=method, url=url, json=json) else: resp = self.session.request(method=method, url=url, data=data) else: resp = None print('UN-support method') print('请求response:', resp.text) return resp
data = '{"mobilephone":"#normal_user#","pwd":"#normal_pwd#"}' #原本字符,元字符 # p = "#.*?#" p = "#(.*?)#" #正则表达式 # m=re.search(p,data) #从任意位置开始找,找到第一个就返回 match object,如果没有返回None # print(m.group()) #返回表达式和组里面的内容 #normal_user# # print(m.group(1)) #只返回组里面的内容 normal_user # # g=m.group(1) # v=config.get('data',g) # print(v) # # data_new=re.sub(p,v,data,count=1) #正则,替换的,原来的,count查找替换的次数 sub()查找替换 # print(data_new) # ms=re.findall(p,data) #查找全部,返回列表 # print(ms) #如果要匹配多次,替换多次,使用循环来解决 while re.search(p, data): print("替换前的data", data) m = re.search(p, data) g = m.group(1) v = config.get('data', g) print(v) #记得把替换后的内容用data接收 data = re.sub(p, v, data, count=1) print("替换后的data", data) print("最后替换后的data", data)
# 解析正则表达式--->查找 import re from API_6.common.config import config data = '{"mobile":"#normal_user#", "password":"******"}' # 原本字符,元字符 # p = 'normal_user' #原本字符 p = "#(.*?)#" # 元字符 # m = re.search(p, data) # 从任意位置开始找,找到第一个就返回 # print(m.group(0)) # 返回表达式和组里面的内容 # print(m.group(1)) # 只返回指定组的内容 # g = m.group(1) # 拿到参数化的KEY # v = config.get('data', g) # 根据KEY取配置文件里面的值 # print(v) # data_new = re.sub(p, v, data, count=1) #查找替换,count查找替换的次数 # print(data_new) # ms = re.findall(p, data) #查找全部,返回列表 # print(ms) # 如果要匹配多次,替换多次,使用循环来解决 while re.search(p, data): print(data) m = re.search(p, data) # 从任意位置开始找,找到第一个就返回 g = m.group(1) # 拿到参数化的KEY v = config.get('data', g) # 根据KEY取配置文件里面的值 # print(v) # 记得替换后的内容,继续用data接受 data = re.sub(p, v, data, count=1) # 查找替换,count查找替换的次数 print('最后替换后的:', data)
# g = m.group(1) # 拿到参数化的key # v = config.get('data',g)#根据key取配置文件里面的值 # print(v) # data_new = re.sub(p,v,data,count=1)#查找替换,count查找替换的次数 # print(data_new) # ms = re.findall(p,data)# 查找全部 返回列表 # print(ms) #如果要匹配多次,替换多次,使用循环解决 while re.search(p,data): print(data) m = re.search(p, data) # 从任意位置开始找,找到第一个就返回Match object,如果没有找None print(m.group(0)) # 返回表达式和组里面的内容 print(m.group(1)) # 只返回指定组的内容 g = m.group(1) # 拿到参数化的key v = config.get('data', g) # 根据key取配置文件里面的值 print(v) #记得替换后的内容,继续用data接收 data = re.sub(p, v, data, count=1) # 查找替换,count查找替换的次数 print('最后替换后的data',data)