Python
文章平均质量分 58
hqzxsc2006
这个作者很懒,什么都没留下…
展开
-
supervisor配置
1、安装pip install supervisor2、配置运行supervisord服务的时候,需要指定supervisor配置文件,如果没有显示指定,默认在以下目录查找:$CWD/supervisord.conf$CWD/etc/supervisord.conf/etc/supervisord.conf/etc/supervisor/supervisord.conf (since...转载 2019-08-30 10:44:12 · 779 阅读 · 0 评论 -
学习python单元测试框架nose之---05nose的tools使用
nose.tools 提供一些方法可以方便我们写测试用例,让测试更简单nose.tools.ok_(expr, msg=None)¶Shorthand for assert. Saves 3 whole characters!nose.tools.eq_(a, b, msg=None)Shorthand for ‘assert a == b, “%r !=原创 2016-04-01 18:41:29 · 2535 阅读 · 0 评论 -
学习python单元测试框架nose之---03nose的xml测试报告输出
nose的Xunit插件可以收集xml格式的测试报告,方便持续测试Jenkins调用等。简单的实例:from nose.plugins.plugintest import run_buffered as runfrom nose.plugins.xunit import Xunitimport unittestclass mytest(unittest.TestCase):原创 2016-04-01 18:19:21 · 3153 阅读 · 0 评论 -
学习python单元测试框架nose之---02nose多进程并行测试
nose有个MultiProcess插件,可以多进程并发测试你的用例,缩减测试时间。贴上简单的例子:from nose.plugins.plugintest import run_buffered as runfrom nose.plugins.multiprocess import MultiProcessimport unittestclass mytest(unittest.T原创 2016-04-01 18:13:30 · 4141 阅读 · 1 评论 -
CentOS7安装Python3.6
安装python3.6可能使用的依赖# yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel下载python3.6编译安装到python官网下载https://www.python.org下载最新版源码,使用make altinst转载 2017-06-15 13:54:32 · 610 阅读 · 0 评论 -
python的subprocess模块使用
subprocess的目的就是启动一个新的进程并且与之通信。subprocess模块中只定义了一个类: Popen。可以使用Popen来创建进程,并与进程进行复杂的交互。它的构造函数如下:subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_f转载 2015-09-30 10:28:40 · 833 阅读 · 0 评论 -
python捕获ctrl+c手工中断程序的两种方法
日常编写调试运行程序过程中,难免需要手动停止,以下两种方法可以捕获ctrl+c立即停止程序1、使用python的异常KeyboardInterrupt try: while 1: pass except KeyboardInterrupt: pass2、使用signal模块 def exit(signum,原创 2017-06-20 21:45:21 · 47124 阅读 · 3 评论 -
Python爬虫神器PyQuery的使用方法
前言你是否觉得 XPath 的用法多少有点晦涩难记呢?你是否觉得 BeautifulSoup 的语法多少有些悭吝难懂呢?你是否甚至还在苦苦研究正则表达式却因为少些了一个点而抓狂呢?你是否已经有了一些前端基础了解选择器却与另外一些奇怪的选择器语法混淆了呢?嗯,那么,前端大大们的福音来了,PyQuery 来了,乍听名字,你一定联想到了 jQuery,如果你对 j转载 2017-06-01 17:05:19 · 1020 阅读 · 0 评论 -
安装automatorx的库提示ImportError: No module named _markerlib解决方法
1、升级pip最新版本再安装试试pip install --upgrade pip2、如果还不行升级distributeeasy_install distribute或者pip install --upgrade distribute原创 2017-02-14 15:42:38 · 3779 阅读 · 1 评论 -
automatorx搭建ios自动化测试环境
1、安装carthage,使用前最好brew update下,也可以直接下载pkg文件:https://github.com/Carthage/Carthage/releasesbrew install carthage2、原创 2016-11-18 17:37:31 · 4864 阅读 · 0 评论 -
创建pycharm的自定义python模板
在pycharm上依次选择打开File->settings->Editor->File andCode Templates->Python Script复制以下模板内容:#!/usr/bin/env python# encoding: utf-8#set( $SITE = "http://blog.csdn.net/hqzxsc2006" )"""@version: v1.0@转载 2016-11-14 22:09:07 · 9311 阅读 · 0 评论 -
利用python找房子
1. 课程背景课程来自一段租房血泪史(夸张):事情是这样的,笔者是接着念大四准备考研,而室友是应届毕业在找工作,说白了就是都没有钱,于是打算合租。因为穷所以不可能找有门店的的中介,只能看看赶集、58、和一些租房APP。期间需要考虑两个人的通勤范围来选地段,由于对交通的不熟悉,只有选择自己附近的较贵的地段,花了很多时间阅览赶集或者58里的个人房源信息,然而个人房源信息中仍充斥着大量中介,抱着转载 2016-08-05 23:24:51 · 3193 阅读 · 1 评论 -
python执行定时任务
一,当你想让你某个方法在几秒甚至更长的时间内执行后执行一次,你可以这样做:import timefrom threading import Timerdef print_time( enter_time ): print "now is", time.time() , "enter_the_box_time is", enter_timeprint time.time()Ti转载 2016-08-05 22:52:29 · 1939 阅读 · 0 评论 -
mac下安装python的opencv
一、环境mac os10.11python 2.7.10二、安装1、安装homebrewruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"2、brew安装opencv,安装成功后下面步骤可以忽略brew updatebrew tap homebrew/原创 2016-06-22 12:45:54 · 3057 阅读 · 1 评论 -
使用automatorX测试app页面响应时间
automatorx是基于opencv图片识别,类似于sikuliX,封装继承了python版的uiautomator。1、环境python2.7opencv2.4Android4.1+2、安装部署a、安装opencv# For Win32pip installhttp://7rfh09.com2.z0.glb.qiniucdn.com/opencv_pytho原创 2016-06-12 15:53:06 · 5570 阅读 · 2 评论 -
跑Android appium服务报内存溢出解决方法
Android appium服务器执行自动化脚本一个多小时总是报FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory内存溢出通过调整\Appium\node_modules.bin\appium.cmd中的--max-old-space-size内存限制大小参数值@IF EXIST "%~dp0转载 2016-07-01 11:12:49 · 2790 阅读 · 0 评论 -
学习python单元测试框架nose之---04nose的html测试报告输出
有时候我们要让报告整洁美观点,以html展示测试结果,我们可以借助nosehtmloutput插件输出html格式报告简单实例:from nose.plugins.plugintest import run_buffered as runfrom htmloutput.htmloutput import HtmlOutputimport unittestclass mytest(un原创 2016-04-01 18:33:30 · 6889 阅读 · 0 评论 -
学习python单元测试框架nose之---01nose框架初探
nose 项目是于 2005 年发布的,也就是 py.test 改名后的一年。它是由 Jason Pellerin 编写的,支持与 py.test 相同的测试习惯做法,但是这个包更容易安装和维护。尽管 py.test 在某些方面有所进步,目前也很容易安装,但是 nose 仍然保持了易用性方面的声誉。支持插件扩展,兼容unittest。1、安装pip install nose2、使用原创 2016-04-01 18:05:39 · 1240 阅读 · 0 评论 -
学习python单元测试框架nose之---06nose的插件编写扩展功能
我们可以自己自定义一个插件扩展测试框架功能,写个插件类继承Plugin就可以我们写个简单的查找用例目录下过滤不需要运行的测试用例文件插件UnwantedPackagePluginfrom nose.plugins import Pluginclass UnwantedPackagePlugin(Plugin): enabled = True name = "unwan原创 2016-04-01 19:01:59 · 1776 阅读 · 0 评论 -
python使用数据库池连接mysql
需要库1、DBUtils2、pymysql说明:DBUtils 暂时不支持Python3另外可以使用pip命令在线安装,打开cmd,输入 :pip install DBUtils pymysql,即可进行自动安装。说明:DBUtils是一套Python数据库连接池包,并允许对非线程安全的数据库接口进行线程安全包装。DBUtils来自Webware for Python。DBUtils...转载 2019-07-30 10:30:33 · 302 阅读 · 0 评论 -
python在未安装Oracle客户端情况下连接Oracle
1、安装cx_Oracle2、下载instantclient解压,拷贝oci.dll,oraocci11.dll,oraociei11.dll 至python安装目录下的 Lib\site-packages下即可使用原创 2019-06-13 10:58:14 · 3445 阅读 · 2 评论 -
apscheduler的监听事件
from apscheduler.events import EVENT_JOB_ERROR, EVENT_JOB_MISSED, EVENT_JOB_EXECUTEDimport logginglogger = logging.getLogger('job')def job_listener(Event): job = scheduler.get_job(Event.job_i...原创 2019-05-08 14:18:50 · 3838 阅读 · 0 评论 -
apscheduler分布式运行
使用redis的分布式锁,可以使apscheduler分布式运行,避免job的重复运行# coding: utf-8from apscheduler.schedulers.tornado import TornadoSchedulerfrom apscheduler.events import EVENT_JOB_ERROR, EVENT_JOB_MISSED, EVENT_JOB_EXE...原创 2019-05-08 14:11:08 · 2528 阅读 · 0 评论 -
apscheduler的持久化存储
1、mysqlurl="mysql+pymysql://user:passwd@host/dbname?charset=utf8"job.scheduler.add_jobstore(jobstore="sqlalchemy",url=url,tablename='api_job')2、sqlitefrom apscheduler.schedulers.background import...原创 2019-05-08 14:04:19 · 5943 阅读 · 0 评论 -
python的分组groupby使用
from operator import itemgetter #itemgetter用来去dict中的key,省去了使用lambda函数from itertools import groupby #itertool还包含有其他很多函数,比如将多个list联合起来。。d1={'name':'zhangsan','age':20,'country':'China'}d2={'name':'wa...转载 2019-04-22 15:59:03 · 335 阅读 · 0 评论 -
python调用staf自动化框架
1、配置环境 支持python2和python3On Linux, Solaris, or FreeBSD, add the /usr/local/staf/lib directory to your PYTHONPATH, assuming you installed STAF to directory /usr/local/staf. For example: export PYT...原创 2018-07-30 17:57:11 · 867 阅读 · 0 评论 -
STAF/STAX安装配置
STAF基础用法及简单配置 1. 基础用法 STAF [-verbose] Endpoint Service Request -verbose 指定输出采用verbose模式,verbose是一种数据结构 Endpoint 操作对象IP。指定目标STAF系统,由STAFProc解析以便确定是在本地处理还是发送到远端STAF系统。本机的话可直接写local。 Servic...转载 2018-07-30 17:42:58 · 994 阅读 · 0 评论 -
mitmproxy抓https出现502Bad Gateway. unable to get local issuer certificate的解决方法
当公司站点的https证书过期换掉后,发现不能使用mitmproxy抓包,设置代理后访问站点出现以下错误502 Bad Gateway. Certificate Verification Error for www.xxxx.com: unable to get local issuer certificate (errno: 20, depth: 0)一直找不知道是什么问题,跑到官网的i...原创 2018-07-10 10:15:30 · 11538 阅读 · 1 评论 -
Python格式化保存json文件
json.dump() 直接把常用参数列一下好了参数名 解释 obj 要存入json文件的python对象 fp 文件句柄 ensure_ascii 设置为False的话才可以把中文以中文的形式存到文件里,否则会是’\xXX\xXX’这种 indent 缩进的空格数,设置为非零值时,就起到了格式化的效果,比较美观 也就是说在使用json.dump()的时候设置一下inde...转载 2018-06-19 10:27:49 · 3496 阅读 · 0 评论 -
python处理multipart/form-data的请求
方法1:import requestsimport stringimport randomurl = "http://www.xxxx.net/login"#参数拼凑,附件上传格式如picurl参数,其他表单参数值拼成tuplefiles = {"username": (None, &转载 2018-06-21 10:15:28 · 8275 阅读 · 2 评论 -
python选择排序实现法
工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。python代码:def selection_sort(arr): for i ...转载 2015-08-16 14:01:08 · 591 阅读 · 0 评论 -
paramiko模块的使用
paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。一安装步骤:a、安装vc for python2.7 下载地址http://www.microsoft.com/en-gb/download/details.aspx?id=44266b、安装PyCrypto模块 pip install PyCryptoc、安装转载 2014-03-26 15:15:01 · 1909 阅读 · 0 评论 -
python单元测试框架nose的扩展nose-ittr支持传参测试
官方github地址:https://github.com/taykey/nose-ittr安装pip install nose_ittr使用import mathfrom nose.tools import assert_equal, assert_not_equalfrom nose_ittr import IttrMultiplier, ittrclass Te原创 2015-12-01 10:23:44 · 1595 阅读 · 0 评论 -
python使用openpyxl库修改excel表格数据
1、openpyxl库可以读写xlsx格式的文件,对于xls旧格式的文件只能用xlrd读,xlwt写来完成了。简单封装from openpyxl import load_workbookfrom openpyxl import Workbookfrom openpyxl.chart import BarChart, Series, Reference, BarChart3Dfrom原创 2016-06-29 17:33:51 · 25011 阅读 · 6 评论 -
mac下不能卸载和升级numpy的解决办法
之前要换电脑,听同事的建议,买了个Mac book pro,原因是说苹果对程序员比较友好。可是,前不久在使用gensim的时候(import gensim),总是报错说ValueError: numpy.dtype has the wrong size, try recompiling,在网上查了相关帖子,大约就是numpy的版本和gensim要求的版本不同,所以才报错。 然后我就想转载 2016-06-07 11:48:27 · 20178 阅读 · 1 评论 -
python二路归并排序实现法
归并原理:第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列第二步:设定两个指针,最初位置分别为两个已经排序序列的起始位置第三步:比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置重复步骤3直到某一指针超出序列尾将另一序列剩下的所有元素直接复制到合并序列尾 归并过程:比较a[i]和a转载 2015-08-16 14:39:41 · 2282 阅读 · 0 评论 -
python的二分查找实现
基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。如 果xa的左半部继续搜索x(这里假设数组元素呈升序排列)。如果x>a[n/2],则我们只要在数组a的右 半部继续搜索x。优点:比较次数少,查找速度快,平均性能好缺点:待查表为有序表,且插入删除困难python代码:def binarySearch(l转载 2015-08-16 16:00:43 · 408 阅读 · 0 评论 -
python快速排序法实现
基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。一趟快速排序的算法是:1)设置两个变量i、j,排序开始的时候:i=0,j=N-1;2)以第一个数组元素作为关键数据,赋值给key,即key=A[0];3转载 2015-08-16 12:30:18 · 658 阅读 · 0 评论 -
echarts使用
ECharts主页: http://echarts.baidu.com/index.html基本步骤:1、创建一个html文件2、引入echarts包3、先 init 一个图表实例,再myChart.hideLoading();4、ajax 取数,用数据拼装 option5、myChart.setOption();原创 2015-07-23 12:01:47 · 1370 阅读 · 0 评论 -
python的unittest测试框架的扩展浅谈
很多时候测试框架需要根据测试数据来自动生成测试用例脚本,比如接口测试,通过不同参数构建组合去请求接口,然后验证返回结果,如果这样能通过配置excel数据来驱动测试,而不用去写一大堆的测试用例脚本代码,减轻了维护自动化测试脚本的时间和成本,大概有一个思路可以实现以上想法,先写一个通过的unittest测试基类,然后用过python的内置type去生成自定义的功能模块类,再在生成的自定义类里以seta原创 2015-07-23 12:31:52 · 982 阅读 · 0 评论