
python
文章平均质量分 65
上帝De助手
人生苦短,及时行“乐”!
展开
-
《Python测试开发入门与实践》
本书主要介绍测试开发需要学习的Python基础知识,以及若干基于Python开发的WEB项目。从基础语法开始,到高级特性,再到项目实践。欢迎大家选购。感谢!图书目录原创 2022-05-16 22:13:44 · 990 阅读 · 0 评论 -
pyenv环境安装(CentOS)
1、首选通过pyenv_installer来安装。命令如下:curl https://pyenv.run | bash2、如果上述shell安装失败,可以选择手动安装:安装依赖:yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel下载代码:git clone https://gith原创 2021-05-22 10:56:31 · 2679 阅读 · 0 评论 -
python+selenium设置chrome代理的方式
方式1:from selenium import webdriverfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilitiesfrom selenium.webdriver.common.proxy import Proxy, ProxyTypechrome_options = webdriver.ChromeOptions()proxy_ip = '10.168.162.95:8080'原创 2021-02-22 17:58:04 · 6007 阅读 · 1 评论 -
Flask项目脚手架 -- Flask-Application正式发布
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。如果你是django用户,那么你一定熟悉django-admin。没错!Flask-App就是Flask版本的django-admin。介绍Flask-App是专门给Flask提供项目初始化的工具,通过该工具可以快速地创...原创 2019-12-03 00:01:14 · 6785 阅读 · 5 评论 -
Win10下Celery4.2.1基于redis的部署与错误
Celery是一个分布式异步任务的神器,由Python开发但是其通信协议可以支持其它语言。它还可以设置定时任务,设置多个任务队列并路由任务到指定的队列;同时还提供了运行时的一些监控和管理接口。安装安装python3.7(官网下载直接安装) 安装celery库(pip install celery) 安装redis库(pip install redis)配置\启动worker安装完...原创 2018-11-08 15:21:21 · 2692 阅读 · 0 评论 -
gunicorn + Flask架构中使用多进程全局锁
有之前的认识WSGI和WSGI的前世今世之后,现在就可以介绍如何在gunicorn + Flask架构模式下,在Flask处理线程中使用全局锁。 说到锁在Python中也有很多锁,最常见用的就是多进程锁(multiprocessing.Lock)和多线程锁(threading.Lock)。正常情况下,我们是可以直接使用这些锁的。多进程锁可以在多个子进程中实现锁定临界资源的功能,而多线程锁则...原创 2017-11-14 18:49:52 · 20713 阅读 · 14 评论 -
python 发送和接收ActiveMQ消息
ActiveMQ是java开发的消息中间件服务。可以支持多种协议(AMQP,MQTT,OpenWire,Stomp),默认的是OpenWire。而python与ActiveMQ的通信使用的是Stomp协议。而如果你的服务没有开启则需要配置开启。首先需要安装python的stomp库。命令如下:pip install stomp.py接着,就是上代码了具体如下:# -*-codi...转载 2018-03-15 16:18:18 · 19363 阅读 · 13 评论 -
Python批量生成特定尺寸图片及图画任意文字
因为工作需要生成各种大小的图片,所以写了个小脚本,顺便支持了下图画文字内容。具体代码如下:from PIL import Image, ImageDraw, ImageFont''' Auth: Xiaowu Chen Note: Please install [pillow] library before run this script.'''def draw_i...原创 2018-09-06 17:19:55 · 14453 阅读 · 8 评论 -
python第三方windows编译安装包网站
https://www.lfd.uci.edu/~gohlke/pythonlibs/#wxpython转载 2018-09-06 17:32:27 · 1084 阅读 · 0 评论 -
Pycharm配置远程调试
条件pycharm需要专业版方式使用远程解释器 使用远程调试器使用远程解释器默认情况下我们在本地开发Python程序时,使用的是本地的Python解释器,如果你安装了virtualenv或者pyenv的话,还可以选择这些虚拟环境。而使用Pycharm的专业版,则还可以选择使用远程Linux机器上的解释器。下面就来介绍下使用远程解释器的步骤。 远程部署配置远程部署主要用...原创 2017-11-23 18:15:26 · 46660 阅读 · 8 评论 -
再谈Python多线程--threading各类锁
使用多线程的好处是提高执行效率,但同时带来了数据同步的问题。即多个线程同时对一个对象进行操作时,可能会出现资源冲突的问题;在不加锁的情况下,代码可能并未像我们想向的那样工作。举个栗子:import threadingn = 2max_n = 10000x = 0def countup(n): global x for i in range(n): ...原创 2017-11-16 18:06:59 · 2503 阅读 · 0 评论 -
再谈Python多线程--正确的使用场景
多线程是编程过程中经常会使用到的手段,其目的是为了能提高任务执行的效率。在Python中,我们都知道实现多线程主要有2种方式:使用threading.Thread()方法 继承threading.Thread类一个简单的多线程的样例如下: import threadingl = []n = 2max_n = 10000x = 0def countdown(): ...原创 2017-11-16 16:24:52 · 5440 阅读 · 0 评论 -
WSGI的“前世今生”
前面有一篇文章介绍了WSGI接口规范,这里把与WSGI相关的一系列协议与规范进行了梳理,可以更好的理解WSGI的概念。本文章涉及到的相关内容有:cgiFastcgiWSGI【mod_wsgi】uWSGI/uwsgi1、cgicgi全称是"公共网关接口"(Common Gateway Interface),它是一个古老的通信接口协议;可以适用于所有的脚本语言。其工作方式是当用户有原创 2017-11-14 18:12:01 · 1026 阅读 · 0 评论 -
Python多重继承说明及应用
Python中没有接口的概念,替代之的是多重继承。而引入多重继承之后,一个新的问题是多个父类之间的继承顺序和方法调用顺序。比如:子类中调用的方法在多个父类中都存在的时候,到底会调用哪个父类的方法?(显然不会把所有父类的方法都调用一遍) 理解MRO如果把单重继承理解为是链表结构,那么多重继承则可以认为是树状结构。所以多重继承的向上搜索的规则有2种实现方式:深度优先搜索(DFS) 广...原创 2017-11-27 18:02:40 · 2793 阅读 · 0 评论 -
认识WSGI
WSGI是Web Server Gateway Interface的缩写。它是Python专有的一种接口规范(其它语言也有类似的规范,只是名字不一样而已,Python则是第一个提出该规范的语言)。该规范规定了WEB服务器与WEB应用框架之间的通信方式。首先,WEB应用需要提供一个可调用的接口(如:函数);该接口接收2个参数:第一个参数是当前请求所有请求信息的字典对象第二个参数是一个原创 2017-11-14 16:46:53 · 1000 阅读 · 0 评论 -
再谈Python多线程--避免GIL对性能的影响
在Python中使用多线程,如果你对GIL本身没有一定的了解;那么很有可能你只是写出了正确的多线程代码,而并没有达到多线程的目的,甚至截然相反的效果。下面介绍了Python中GIL的作用和局限性,并提供了避免GIL影响性能的几个建议。 GIL是CPython中特有的全局解释器锁(其它实现版本因为有自己线程调度机制,所以没有GIL机制)。本质上讲它就是Python进程中的一把超大锁。这把锁在...原创 2017-11-17 17:25:07 · 9631 阅读 · 1 评论 -
Python实现点阵字体读取与转换
点阵字体是指根据文字的像素点来显示的字体,效果如下:使用Python读取并显示的过程如下: 根据中文字符获取GB2312编码 通过GB2312编码计算该汉字在点阵字库中的区位和码位 通过区位和码位计算在点阵字库中的偏移量 基于偏移量获取该汉字的32个像素存储字节 解析像素字节获取点阵坐标信息 在对应的坐标显示信息位。如该像素点是否显示点亮 使用该代码前提:下载点阵字...原创 2017-10-13 18:00:53 · 12565 阅读 · 0 评论 -
selenium下对指定元素进行截图
Selenium本身是可以支持截图的,包括全屏和元素的截图;只是对于不用的浏览器的兼容性有差异而已。具体差异如下: Chrome FireFox IE Edge PhantomJS 全屏截图 可视区域 可视区域 可视区域 可视区域 整个页面 元素截图 正常 正常 正常 正常 整个页面 所...原创 2018-10-09 15:34:26 · 22387 阅读 · 8 评论 -
Python语法糖系列
语法糖说明语法糖(Syntactic sugar): 计算机语言中特殊的某种语法 这种语法对语言的功能并没有影响 对于程序员有更好的易用性 能够增加程序的可读性简而言之,语法糖就是程序语言中提供[奇技淫巧]的一种手段和方式而已。 通过这类方式编写出来的代码,即好看又好用,好似糖一般的语法。固美其名曰:语法糖一个简单的例子假设:有2个数字,现需要从...原创 2018-10-28 14:51:35 · 42583 阅读 · 8 评论 -
Python各种类型装饰器详解说明
装饰器说明Python中的装饰器是一种可以装饰其它对象的工具。 该工具本质上是一个可调用的对象(callable),所以装饰器一般可以由函数、类来实现。 装饰器本身需要接受一个被装饰的对象作为参数,该参数通常为函数、方法、类等对象。 装饰器需要返回一个对象,该对象可以是 经过处理的原参数对象、一个包装且类似原参数的对象;或者返回一个不相干内容(通常不建议使用)相信通过上述一段文字的描述...原创 2018-10-27 19:32:42 · 11777 阅读 · 10 评论 -
Locust性能评测及优化详解
文章目录Locust性能评测及优化详解性能评测环境准备1、压测环境准备2、服务环境准备3、压测工具准备压测开始LocustJmeterabhttp_load压测说明性能优化Locust优化项测试Locust默认是否为keep-alive替换为urllib3实现client替换为socket实现client替换为go实现client总结Locust性能评测及优化详解这篇文章是用来补前一篇文章挖...原创 2019-07-21 13:42:13 · 6396 阅读 · 0 评论 -
如何进行“花式”HTTP接口测试
文章目录最Old-School的方式最普通的方式最文艺的方式最认真的方式最“期望”的方式最“偷懒”的方式最“理想”的方式总结新书推荐原文首发: http://www.testqa.cn/article/detail/234现如今每当我们谈起自动化测试的时候,首先想到的不在是UI自动化,而是接口自动化。因为大家在被UI自动化“坑”多了之后,都变了聪明了。那么今天我们就来聊聊HTTP接口测试的那...原创 2019-07-04 23:55:55 · 1663 阅读 · 0 评论 -
性能测试工具Locust源码浅析
近期由于有项目需要做性能评测,于是半道出家的我便从选择性能测试工具,开始了我的性能之旅。为什么要做工具评测作为性能测试的老司机们而言,要么对各大性能测试工具的特性都了然于心了,要么已经使用“惯”了手头上的工具;他们是不会没事做个性能评测的,只有新手们才会认认真真的、按部就班的从第一步走起。而对于性能测试而言,首要的任务自然是选择工具了。所以就有了性能测试工具评测这一趴!为什么要解析Lo...原创 2019-07-10 00:02:25 · 2276 阅读 · 1 评论 -
PyTestReport-0.1.9版本更新
文章目录多了哪些功能呢?如何与PyTest框架结合使用如何通过API的方式生成报告如何生成图片报告并发送邮件新书推荐原文首发还记得那个发布不就的Python单元测试报告框架么?噢!如果不记得那我今天就再来说一篇吧!_ PyTestReport 0.1.9版本正式发布了!多了哪些功能呢?增加对PyTest框架的支持(目前可以支持unittest、pytest两大框架)增加了支持通过l...原创 2019-06-22 22:18:29 · 1405 阅读 · 0 评论 -
Python单元测试报告框架PyTestReport
文章目录开局一张图安装通过pip安装通过安装包通过源码(最新版本)使用单元测试使用样例附录原文链接如果你是Java栈的同学,那么你可能知道extent report测试报告框架。而Python你可能知道HTMLTestRunner测试报告框架。今天要介绍的则是基于HTMLTestRunner的新测试报告框架PyTestReport。如果Python语言界已经有了HTMLTestRunne...原创 2019-05-13 23:51:31 · 1519 阅读 · 0 评论 -
如何打包和发布Python程序
原文首发文章目录如何打包和发布Python程序打包编写setup.py文件编译发布TestPYPI发布PYPI发布附录新书推荐如何打包和发布Python程序在使用Python的过程中,我们经常需要做的一件事情就是通过pip来安装第三方的包。那么你是否也曾想过pip安装的包是怎么被打包并发布上去的呢?今天就来说一说Python的第三方包的打包与发布流程!打包想要发布一个第三方的包,首先...原创 2019-05-04 23:54:14 · 10018 阅读 · 1 评论 -
Python日志模块logging使用详解
文章目录前言使用默认配置记录日志写入到日志文件日志信息格式化通过代码配置日志不同Logger进行不同设置通过文件配置日志总结前言每个语言都会有自己的日志模块,Python也不例外。通常情况下当需要使用到日志的时候,一般都是匆匆查找下资料,按照步骤进行下配置就是完事了,不太会去总结日志模块的使用方式。经常过一段时间新项目需要用的时候,还是需要去网上搜索下配置方式。所以今天就为了日后的使用方便...原创 2019-03-23 23:12:10 · 925 阅读 · 0 评论 -
Linux下安装python+appium+android(附带各种错误解决办法)
文章目录安装Android SDK安装nodejs、NPM、cnpm安装Appium安装Python和基础库设置WIFI连接及调试引用安装错误解决[node安装错误]/usr/bin/env: node: No such file or directory[appium在linux安装错误] Error: EACCES: permission denied, mkdir '/usr/local/l...原创 2019-03-07 10:24:43 · 1929 阅读 · 1 评论 -
windows环境下python3安装Crypto
直接安装Crypto是不好使的。因为历史原因导致的比较混乱,引用外部博友的解释内容如下:pycrypto、pycrytodome和crypto是一个东西,crypto在python上面的名字是pycrypto,它是一个第三方库,但是已经停止更新三年了,所以不建议安装这个库;这个时候pycryptodome就来了,它是pycrypto的延伸版本,用法和pycrypto是一模一样的;所以,我...原创 2019-01-09 16:34:27 · 24791 阅读 · 10 评论 -
论接口自动化测试方法
每当我们谈起自动化测试时,第一反应是UI自动化测试;而具有一些经验的测试人员,则会非常慎重的对待UI自动化,他们会更加倾向于接口自动化测试。究其缘由,主要是因为UI自动化通常成本较高,后期维护更加苦不堪言;而接口测试则相对轻量级一些,它是介于UI自动化和单元测试之间的一种自动化测试手段,可以兼具二者的各自优点,是业内广泛应用的一种测试技术。在聊接口测试之前,我们需要明确什么是“接口”。这个问题...原创 2019-01-24 23:11:34 · 3279 阅读 · 3 评论 -
Selenium通过设置代理实现抓取HTTPS请求
起因Selenium本身是不支持HTTP请求抓取的,因为其团队认为这个不是selenium要解决的问题(确实也是)。所以推荐使用一个相关联的项目 -- BrowserMobProxy。具体项目首页见:https://github.com/lightbody/browsermob-proxy尝试因为项目需要,所以就研究了下BrowserMobProxy。它其实是一个java实现的开源代...原创 2018-12-04 19:59:45 · 11035 阅读 · 0 评论 -
python3url编解码base64编解码ASE加解密
字符编解码Python3相对于Python2的一大改变就是,对默认字符类型进行了修改。Python2中定义字符串默认为二进制字符串,强制加前缀u的才是unicode字符串;而Python3中字符串默认为unicode,强制加前缀b的才是二进制字符串。(也就是刚好反过来了)这里的二进制字符串:指的是进行过编码后的字符串。即utf8、gbk、ascii等编码后的串都是二进制的。存放到文件的时候...原创 2018-11-01 20:50:29 · 2520 阅读 · 0 评论 -
python windows第三方编译安装包下载站点
windows下需要编译安装的第三方包,如果自己下载编译没有C++编译环境,通常是安装不成功的。而从该http://www.lfd.uci.edu/~gohlke/pythonlibs/网站直接下载已编译的安装包则可以成功安装。翻译 2017-10-16 14:09:12 · 1662 阅读 · 0 评论 -
python的requests发送/上传多个文件
1、需要的环境Python3.X Requests 库2、单字段发送单个文件在requests中发送文件的接口只有一种,那就是使用requests.post的files参数, 请求形式如下:url = "http://httpbin.org/post"data = Nonefiles = { ... }r = requests.post(url, data, files=f...原创 2017-07-10 13:45:32 · 88479 阅读 · 19 评论 -
Selenium + python的自动化框架搭建
selenium是一个web的自动化测试工具,和其它的自动化工具相比来说其最主要的特色是跨平台、跨浏览器。支持windows、linux、MAC,支持ie、ff、safari、opera、chrome等。此外还有一个特色是支持分布式测试用例的执行,可以把测试用例分布到不同的测试机器的执行,相当于分发机的功能。关于selenium的原理、架构、使用等可以参考其官网的资料,这里记录如何原创 2011-12-01 13:56:58 · 37071 阅读 · 5 评论 -
python模块的打包
模块安装:需要安装对应版本的setuptools模块,这是一个python的模块打包工具。(可以在pypi上找到)样例代码:新建test.py文件,内容如下:print "show me"新建一个setup.py编译文件,内容如下:from distutils.core import setupsetup(name='Myblog', #打包后的包文件名原创 2012-08-09 15:01:49 · 16976 阅读 · 2 评论 -
py2exe简单使用
前提条件:需要安装easy-install模块,这是一个python的模块打包工具。py2exe模块安装:http://prdownloads.sourceforge.net/py2exe下载对应版本的安装包。样例代码:新建test.py文件,内容如下:print "show me"新建一个mysetup.py编译文件,内容如下:from distutils原创 2012-08-09 13:37:40 · 1585 阅读 · 0 评论 -
import,reload,__import__在python中的区别
import作用:导入/引入一个python标准模块,其中包括.py文件、带有__init__.py文件的目录。e.g:import module_name[,module1,...]from module import *|child[,child1,...]说明:多次重复使用import语句时,不会重新加载被指定的模块,只是把对该模块的内存地址给引用到本地变量环境。测原创 2012-07-19 13:49:44 · 54398 阅读 · 7 评论 -
Linux下通过Windows的ISA代理认证上网
ISA的http代理有2种形式:一种是基本的认证方式,即base认证,具体表现为如果http的请求头里没有base_authenticate字段则会返回401错误;要进行base认证的方法很简单,直接把预先提供好的用户名和密码通过base64加密,然后作为http请求头的base_authenticate字段对应的值即可。一种是基于Windows域用户的身份认证,具体表现为如果http原创 2012-07-13 16:42:46 · 4598 阅读 · 0 评论 -
webpy+nginx性能测试
近来无事,所以就在搭建好的环境上测试试了试webpy的性能,关于环境搭建和如何使用fastcgi运行webpy可以见这里,这次测试的环境有windows、linux,有默认的web服务和nginx服务,所有的组合矩阵见下:测试矩阵 nginx+spawn-fcgi+flupnginx+flup webpy only原创 2012-07-12 23:17:30 · 4319 阅读 · 0 评论