Python
在墙角蹲着画圈圈
这个作者很懒,什么都没留下…
展开
-
【python】enum介绍、与enum配合fastapi的使用
一、enum介绍enum模块定义了一个提供迭和比较功能的枚举类型;可以用这个模块为值创建明确定义的符号,而不是使用字面量整数或字符串。1.1通过继承enum.Enum派生出新的枚举类class ENV(enum.Enum): ST = 'st' UAT = 'uat' PRD = 'prd' # 解析这个类时,Enum的成员会被转为实例;每个实例对应有一个name属性和value属性;print(f'ENV.DEV.name={ENV.DEV.name},ENV.DEV.原创 2022-04-20 00:42:34 · 2516 阅读 · 0 评论 -
【Python】小技巧、性能优化
一、高质量python参考资料:《EffectivePython:编写高质量python代码的90个有效方法》1.使用f-string替代format- ------------ formatname = '张三'age = 12n = 5content = '{}今年{}岁'.format(name,age)print(content) # 张三今年12岁content = '{0}今年{1}岁'.format(name,age)print(content) # 张三今年12岁原创 2022-04-14 23:24:56 · 853 阅读 · 0 评论 -
【Python】【接口自动化】对数据库的封装
依照样例配置数据库连接信息,各类数据库都相同的方式进行调用只写了mysql、oracle、db2、sqlServer的其他sql数据库和nosql数据库,也都可以扩展进来oracle貌似是没法一次执行多条sql的,可以在oracle的exec方法里处理下sqldb = CommonDB(‘A系统1库’,env=‘st’)sql = " insert xxx xxx "db.exec(sql)sql = “select xxxxxxxx”data = db.query(sql,resType原创 2022-02-27 00:48:54 · 1069 阅读 · 3 评论 -
【Python】带参数的装饰器
带参数的装饰器,比普通装饰器要多一层from functools import wrapsclass Decorators(): @classmethod def usageRecorder(cls,name,description=None): # 带参数的装饰器,比普通装饰器要多一层 def run(func): @wraps(func) def warp(*args, **kwargs):原创 2022-01-09 23:51:31 · 714 阅读 · 0 评论 -
【Python】接口自动化框架-SQL与代码分离方案
接口大多数都是从数据查询数据,进行处理后返回的,做接口自动化时,不可避免的需要写业务函数和SQL,若SQL放在业务脚本里,会很杂乱 不便于管理。可以将SQL集中管理,写在sql文件中,在需要使用时通过SQL名称获取SQL。1. 整体思路SQL数据目录>SQL文件(按模块划分)>SQL(为每个SQL命名,作为标识)SQL内容查询函数,传入文件路径,SQL名称获取SQLSQL执行函数,传入数据库名称、环境、SQL参数,调用2去获取SQL并填入参数、获取对应数据配置并连接对应数据库,执行S原创 2022-01-02 02:19:27 · 417 阅读 · 0 评论 -
【Python】银行家算法(四舍六入五成双)和使用decimal进行四舍五入处理
在python3中,round(num,n)和’%.nf’%num都是使用银行家进行小数位的处理的(python2不记得了),即四舍六入五成双。四舍六入五成双介绍和四舍五入不同的是,对于最大小数位下一位为5,其后没其他小数的情况的处理例如:1.1x5保留两位小数,最大小数位后为5,这时就判断x是奇数还是偶数,如果是偶数,“5”就舍,如果是奇数,“5”就入示例(保留2位小数处理):数值四舍五入银行家算法1.1251.131.121.1351.141.14原创 2021-12-26 01:24:23 · 2299 阅读 · 4 评论 -
【Python】【自动化测试】kafka公共类的大概思路和数据过滤
一般项目中用到kafka,要么是本系统进行数据推送(这个比较好检查)要么是本系统对接其他系统数据,而对接的其他系统数据,可能是直接落库,也可能是进行加工处理后落库因为上游的数据可能是有多个下游在使用,不是每条收到的数据都是本系统需要的,所以需要对数据进行有效性过滤,然后在对数据进行加工或落库今天有个想法,想通过类似sql的where 条件对消费到的数据进行筛选,有了大概思路后 写了个DEMO(核心是jsonpath和eval),后面有时间再逐渐完善也分享一下kafka公共类的一个结构,主要是分享下思原创 2021-09-02 21:55:55 · 431 阅读 · 0 评论 -
【Python】【接口自动化】python requests发送带文件的webform表单
上周写个项目上批量处理一些数据的脚本,有用到一个附件上传接口,这个接口要在webform中传一些参数值和文件以前没写过用python发送web表单的,在网上搜了下,找到的都是不带文件的webform表单发送,或者只是发文件的,搬过来用不了(也可能是接口内部处理逻辑不同的原因),折腾了不少时间后来在公司内部的技术交流平台上,找到了解决方法,给大家分享一下import requestsurl=''headers = {} # 按需填写,heder好像没啥特殊参数,如果发送失败,Content-T原创 2021-06-26 05:12:29 · 591 阅读 · 0 评论 -
【Python】pandas.DataFrame.sum()求和把nan当作0进行计算
今天在使用pandas时遇到个问题:df.sum()汇总计算数据和时,把空值当作0进行了计算如果列数据不全为空,这样计算没啥问题,但如果列数据全为空,计算出的结果就不准确了由于这几天才接触pandas,一直没找到pandas有没有自带判断列数据是否全空的方法后来发现可以使用count()方法进行判断,在这儿记录下,给其他刚接触pandas有相同困扰的小伙伴们一点小帮助a = [[...原创 2020-03-26 23:05:14 · 11106 阅读 · 0 评论 -
[Python] 列表推导式
一、介绍当需要对一个列表里的所有元素都进行相同操作是,使用遍历的方式需要写多行代码,显得比较繁琐而采用列表推导式可以一行命令完成二、示例:现有一个列表 a = [1,2,3,4,5],需要将每个元素都加1并生成新的列表b# ****一般方式# 方法1a = [1,2,3,4,5]b = []length = len(a)for i in range(length...原创 2019-03-11 11:54:32 · 790 阅读 · 0 评论 -
[Python] 单例模式
class Amimal(object): __a = None __b = True def __new__(cls,*args,**kwargs): if not cls.__a: cls.__a = object.__new__(cls) # 调用基类的__new__方法创建对象,修改类属性__a return cls.__a def __init__(self...原创 2019-03-16 11:32:58 · 290 阅读 · 2 评论 -
[Python] 字符串的操作大全
my_str = " this is a samplE SENTENCE "# 字符串属于不可变类型,对字符串进行下面这些操作,都不会对my_str造成任何影响# 会返回进行操作后的值,这个返回的值是临时的,需要赋值给一个变量才能进行保存print(my_str+"hello") # 在字符串后方增加其他字符print(my_str*3) # 字符串的乘pr...原创 2019-02-27 23:16:39 · 233 阅读 · 0 评论