Esempio n. 1
0
def replace(data):
    p = "#(.*?)#"  # 正则表达式

    while re.search(p, data):
        print("替换前的data", data)
        m = re.search(p, data)
        g = m.group(1)  #拿到参数化的key

        try:
            v = config.get('data', g)  #根据key取配置文件里面的值
        except configparser.NoOptionError as e:  #如果配置文件里面没有的时候,去Context里面取
            if hasattr(Context, g):
                v = getattr(Context, g)
            else:
                print("找不到参数化的值")
                raise e

        print(v)

        # 记得把替换后的内容用data接收
        data = re.sub(p, v, data, count=1)
    #     print("替换后的data", data)
    # print("最后替换后的data", data)

    return data
Esempio n. 2
0
def replace(data):
    p = "#(.*?)#"  # 正则表达式
    while re.search(p, data):
        print(data)
        m = re.search(p, data)  # 从任意位置开始找,找第一个就返回Match object, 如果没有找None
        g = m.group(1)  # 拿到参数化的KEY
        try:
            v = config.get('data', g)  # 根据KEY取配置文件里面的值
        except configparser.NoOptionError as e:  # 如果配置文件里面没有的时候,去Context里面取
            if hasattr(Context, g):
                v = getattr(Context, g)
            else:
                print('找不到参数化的值')
                raise e
        print(v)
        # 记得替换后的内容,继续用data接收
        data = re.sub(p, v, data, count=1)  # 查找替换,count查找替换的次数

    return data
Esempio n. 3
0
    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
Esempio n. 4
0
    def request(self, method, url, data=None, json=None):
        method = method.upper()  #转换成大写
        if type(data) == str:
            data = eval(data)

        #拼接请求的url,再传到url=url的后面的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
Esempio n. 5
0
    def request(self,method,url,data=None,json=None):
        method = method.upper()

        # 拼接请求的url
        url = config.get('api', 'pre_url') + url
        print('请求url是:',url)

        if type(data) == str:
            data = eval(data)  # str 转成字典
            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('请求结果是:',resp.text)
        return resp
Esempio n. 6
0
"""
import re

from API_7.common.config import config

data = '{"mobilephone":"#normal_user#","pwd":"#normal_pwd#"}'
# 原本字符,元字符
p = "#(.*?)#"  # 正则表达式
# ms = re.findall(p, data)  # 查找全部,返回列表
# print(ms)
# 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_new = re.sub(p, v, data, count=1)  # 查找替换,count查找替换的次数
# print(data_new)

# 如果要匹配多次,替换多次,使用循环来解决

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查找替换的次数

print('最后替换后的data', data)