
Python
啦啦啦
小小愚公
自娱自乐
展开
-
python(七)-多线程-线程池concurrent.futures
'''线程池:concurrent.futures主线程想获取子线程状态,返回值。。。。统一了多线程和多进程的编码格式,方便切换'''import timefrom concurrent.futures import ProcessPoolExecutor,ThreadPoolExecutor,as_completeddef runner(times): time.sleep(times) return timesexecutor = ThreadPoolExec..原创 2022-02-27 08:40:59 · 477 阅读 · 0 评论 -
python(六)-多线程-Semaphore(信号量)
Semaphore对象内部管理一个计数器,该计数器由每个acquire()调用递减,并由每个release()调用递增。计数器永远不会低于零,当acquire()发现计数器为零时,线程阻塞,等待其他线程调用release()=============控制并发数量=============import threadingimport timeclass Chi(threading.Thread): def __init__(self,sem,i): super().__..原创 2022-02-27 08:40:34 · 479 阅读 · 0 评论 -
python(五)-多线程-condition(条件变量)
什么是conditioncondition 多线程条件变量,即在满足特点的条件下,线程才能访问相关的数据,这种同步机制就是一个线程等待特定的条件,当另一个线程满足条件后通知它,该等待线程才会执行,一旦条件满足,该线程就会获得锁,从而独占共享资源的访问。常用方法acquire:获取锁release:释放锁wait:等待获取通知,可以设置超时notify:唤醒一个或多个等待线程notify_all(唤醒所有等待此条件的线程)===========举例(小爱和小度对话)============.原创 2022-02-27 08:40:26 · 1059 阅读 · 0 评论 -
python(四)-线程间同步-Lock、Rlock
为什么线程间数据不一致?import disdef add1(a): a +=1print(dis.dis(add1)) #查看函数字节码运行方式==============结果============651 0 LOAD_FAST 0 (a) 3 LOAD_CONST 1 (1) 6 INPLACE_ADD 7 STORE..原创 2022-02-27 08:40:18 · 272 阅读 · 0 评论 -
python(三)-线程间通讯-queue
现在很多企业会混淆QA和测试工程师,毕竟一些小企业也没有太多钱养那么多人。一、先看一下两者的职责:软件测试人员的职责:尽可能早的找出软件缺陷,确保得以修复。质量保证人员(QA)主要职责:创建或者制定标准和方法,提高促进软件开发能力和减少软件缺陷。从上面能看出,测试人员重点关注的是软件的缺陷-跟踪-修复,来保证质量,QA则是通过迭代的流程合理性来定义迭代规范来保证质量;二、人员要求:测试人员高低都可以,资深可以做自动化,专项。。。实习生可以简单功能;但QA要求必有有一定经验..原创 2022-02-27 08:40:11 · 378 阅读 · 0 评论 -
python(二)-多线程两种写法
"""方法一:创建函数并且传入Thread 对象中 ,适用小程序"""import timedef get_detail_html(url): print(url) time.sleep(2) print('thread1 end')thread1 = threading.Thread(target=get_detail_html,args=("",))# thread1.setDaemon(True)#设置线程为守护线程,当主线程退出,守护线程直接退出thre.原创 2022-02-25 09:54:10 · 161 阅读 · 0 评论 -
python(一)-GIL
"""GIL1.会根据执行的字节码行数或者时间片释放2.还会在遇到io操作的时候制动释放,来方便其他线程处理,所以对于频繁io操作,多线程和多进程差别不大"""total = 0def add(): global total for i in range(1000000): total += 1def desc(): global total for i in range(1000000): total -= 1import.原创 2022-02-24 09:42:44 · 222 阅读 · 0 评论 -
站在巨人肩膀上-simpleUI框架
simpleui 是django admin的一个主题 是一个基于element-ui+vue开发,重写和优化90%以上的页面。与suit是同类产品。我们是一个更符合国人审美和使用习惯的一个主题试用一下-实现了部分自动化主要功能:功能一:ui自动化(web和ui)根据配置流程自动执行功能二:接口测试支持单一接口,链路接口,增加用例集,断言功能,复制数据,运行等功能三:测试报告根据用例集运行数据,标记失败和成功的case,根据断言记录失败详情功能四:综合配置(待开发)支原创 2022-02-24 09:40:05 · 646 阅读 · 0 评论 -
django实现轻量mock管理系统
mock系统,个人认为暂时在一些小单位还是不需要,毕竟mock平台已经烂大街了,这两天突发想玩一下,就有了下面这个系统,距离上次玩django已经快一年半时间了,本来就一知半解,就当复习了,还好,差不多一天时间,搞定基础版~实习期领导给上的第一堂课:做事之前一定要先分析有没有快速解决问题的方案(一辈子也忘不了),所以呢?百度,站在巨人的肩上。。。百度了一个差不多的django实现的mock系统,在基础上做了改造。。。。遇到问题:1.django版本问题,下的源码版本太低,根据最新的语法做了修原创 2022-02-24 09:38:39 · 283 阅读 · 0 评论 -
nosetests常见用法
原创 2022-02-23 17:10:37 · 196 阅读 · 0 评论 -
jenkins部署及gitlab配置及nose自动化框架生成测试报告
之前都是拿来直接用,做自动化测试也是写的定时任务,没有太多依赖jenkins,这两天刚好有时间,来配一下pycharm-gitlab-jenkins-test_report的流程,记录一下==============jenkins部署===================1.官网下载jenkins.war,命令行执行 java -jar jenkins.war --httpPort=8096,启动2.访问ip:8096,初始化密码,登录-创建管理员账户,安装默认的jenkins插件3.j原创 2022-02-23 17:09:20 · 595 阅读 · 0 评论 -
flask mockapi小例子
原创 2022-02-23 16:59:53 · 223 阅读 · 0 评论 -
图片查分-截图
def diffPng(pngpath1,pngpath2):#对比返回0.0表示完全一致 try: image1=Image.open(pngpath1) image3=Image.open(pngpath2) h1=image1.histogram() h2=image3.histogram() diff_vales = math.sqrt(reduce(operator.add,list(map(lambda a,...原创 2022-02-23 16:48:23 · 130 阅读 · 0 评论 -
python 经纬度墨卡托互转
def marcator(x,y): lonlat = {} xx = x/ 20037508.3427892 * 180 yy = y/ 20037508.3427892 * 180 lonlat['x'] = xx lonlat['y'] = 180 / math.pi * (2 * math.atan(math.exp(yy * math.pi / 180)) - math.pi / 2) return lonlat# 经纬度转墨卡托def marc...原创 2022-02-23 16:39:08 · 1730 阅读 · 1 评论 -
Python定时任务
def work(): print "hello work"def runTaskOnly(func, day=0, hour=0, min=0, second=0): now = datetime.now() strnow = now.strftime('%Y-%m-%d %H:%M:%S') print "现在时间:",strnow period = timedelta(days=day, hours=hour, minutes=min, seconds=sec...原创 2022-02-23 16:35:34 · 281 阅读 · 0 评论