• python_接口关联处理与pymysql中commit


    一。

    接口关联

    1.思考为什么要进行接口关联

    下一个借口需要上一个接口的数据

    2.怎么做

     以unittest框架为例,我这里思考这与配置文件配合使用。配置文件中写入可以产生下个接口依赖信息的数据,在setupClass中调用并返回依赖数据给下个接口使用。

    @ddt.ddt
    class TestLogin(unittest.TestCase):
    def setUp(self):
         #每运行一次就会调用一次
    self.db=db_handler()
    def tearDown(self):
         #每运行一次就会调用一次
    self.db.db_close()
    #使用装饰器@classmethod类方法使其可以在类中调用
    @classmethod
    def setUpClass(cls) -> None: #在开始只运行一次setClass中的方法
         #里面放接口关联的数据
    cls.token=DanyuanMiddle.token
    cls.member_id=DanyuanMiddle.member_id
      
      def tearDownClass(cls) -> None:  #在最后会只运行一次tearDownClass中的方法
      pass

     3.使用@property装饰器,使函数添加为 类属性

     例子:

    class Add:
    @property
    def math_add(self):
    c=1+2
    return c
    if __name__ == '__main__':
    #不创建实力进行调用,可以看到的是只返回了对象
    print(Add.math_add)
    #创建实力进行调用,返回了实际值
    print(Add().math_add)
    运行结果:

    二。

    1.思考同一游标下查找同一条数据(第一次查询前不做操作,第二次查询下进行变更)为何拿不到最新的值?

    如果共同使用一个游标进行操作,相当于你在操作一个excel文档在进行关闭的使用需要把当前已经做了修改的内容进行保存处理。(举例不是很形象)

    2.如何解决

    def query_one(self,sql):
       #每次在执行sql前使用commit
    self.conn.commit()
    self.cursor.execute(query=sql)
    return self.cursor.fetchone()

    三。jsonpath

    多层嵌套的json格式数据一键获取

    1)安装

    pip install jsonpath

    2)使用

    import jsonpath

    json_1={
    "data":{"json_data":
    {
    "member":18623660796,
    "pwd":123456
    }
    }
    }
    #获取子孙级别的数据
    print(jsonpath.jsonpath(json_1,"$..member"))
    #获取父级的数据
    print(jsonpath.jsonpath(json_1,"$.data"))
    运行结果:

     注意:

    1.若找不到数据会返回‘False’

    2.若获取的数据名称一样,默认取最后一个数据

    3.若获取到数据直接返回 数据的列表

    四.浮点数的精度运算:decimal

    1.为什么要使用:

    print(0.1+0.2 == 0.3)
    运行结果:

    运用:

    from decimal import Decimal
    print(Decimal("0.1")+Decimal("0.2") == Decimal("0.3"))
    运行结果:

  • 相关阅读:
    Spring注解开发系列Ⅵ --- AOP&事务
    Spring注解开发系列Ⅴ --- 自动装配&Profile
    Spring注解开发系列Ⅲ --- 生命周期
    Spring注解开发系列Ⅱ --- 组件注册(下)
    .net Core在过滤器中获取 系统接口方法(以IMemoryCache 为例) 及HttpContext 获取系统接口
    【旧文章搬运】炉子给的SYSTEM_HANDLE_TYPE有点错误
    【旧文章搬运】超级无敌大炉子的LzOpenProcess
    【旧文章搬运】PE重定位表学习手记
    【旧文章搬运】ZwQuerySystemInformation枚举内核模块及简单应用
    【旧文章搬运】ZwQuerySystemInformation枚举进线程信息
  • 原文地址:https://www.cnblogs.com/newsss/p/13150496.html
Copyright © 2020-2023  润新知