Python
为在旦夕
进入iT行业,学无止境
展开
-
初学pytest——使用介绍(1):常用插件,包括生成HTML或XML格式测试报告等
一,简介:pytest是python的一种单元测试框架简单灵活,容易上手,文档丰富支持参数化,可以细粒度地控制要测试的测试用例能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests)pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重原创 2020-06-08 14:19:02 · 545 阅读 · 0 评论 -
初学pytest——基础知识
1,如何编写pytest测试用例编写pytest测试用例按照下面规则:测试文件以_test开头或者以_test结尾测试类以Test开头,并且不能带有__init__方法测试函数以test_开头断言使用基本的assert即可2,测试用例执行状态测试用例执行完成后,每个测试用例都有自己的状态,常见的状态有:passed:测试用例通过error:断言失败failed:用例本身代码报错(例如:fixture不存在,fixture里有报错)xfail:预期失败,加了@pytest.mark.xf原创 2020-06-08 13:08:49 · 721 阅读 · 0 评论 -
初学pytest:理解fixture的scope用法以及setup和teardown部分知识
讨论具体例子前先熟悉几个pytest命令参数: #用于显示每个测试函数的执行结果,通过的话会打印出'PASSED'pytest -v xxx.py#用于显示测试函数中print()函数输出pytest -s xxx.py#通过@pytest.mark控制需要执行哪些feature的测试函数,例如测试函数test()前有修饰@pytest.mark.temppytest -m 'temp' xxx.py #表示只执行测试函数test()pytest -m 'not temp' xxx.py原创 2020-06-06 23:14:22 · 1121 阅读 · 0 评论 -
ubuntu16.04从安装ffmpeg到录制摄像头视频流
一,安装ffmpeg,即三行命令:添加ppa源:sudo add-apt-repository ppa:djcj/hybrid 更新刚才添加的源:sudo apt-get update下载ffmpeg:sudo apt-get install ffmpeg 二,录制摄像头视频脚本:#!/usr/bin/pythonimport osimport sysimport subprocessimport jsonip = sys.argv[1]username = sys.原创 2020-06-06 11:47:40 · 1273 阅读 · 0 评论 -
Linux中实用小知识
经常在Linux环境下写一些小脚本处理文本文件或者图片之类的,整理一些经常会用到的实用小知识python中得到shell命令输出的方法:第一种import subprocessoutput = subprocess.Popen(['ls -l'],stdout=subprocess.PIPE,shell=True).communicate()print output[0].stirp()或者import subprocesssp = subprocess.Popen(['ls -l']原创 2020-06-05 18:42:17 · 140 阅读 · 0 评论 -
Linux中使用crontab设置定时任务
最近一个项目需要在公司做个脚本工具压力测试,就接触到了crontab一些知识,现整理如下:首先,crontab设置定时任务,既可以定时执行shell脚本,也可以执行python脚本,还是挺实用的(其他语言类型没试过,这儿小编先不关心了),小编在Ubuntu16.04上使用。看看crontab有哪些命令参数:命令行输入(输入crontab -v也可以):crontab -h输出:crontab: invalid option -- 'h'crontab: usage error: unreco原创 2020-06-05 17:13:25 · 373 阅读 · 0 评论 -
KMP算法
一、背景给定一个主串(以 S 代替)和模式串(以 P 代替),要求找出 P 在 S 中出现的位置,此即串的模式匹配问题。Knuth-Morris-Pratt 算法(简称 KMP,网上有人戏称“看毛片”,我的输入法打出来的首位竟然是“烤馍片”)是解决这一问题的常用算法之一,这个算法是由高德纳(Donald Ervin Knuth)和沃恩·普拉特在 1974 年构思,同年詹姆斯·H·莫里斯也独立地...原创 2020-02-23 12:32:57 · 242 阅读 · 1 评论 -
初学Python:多进程(multiprocessing)
#! /usr/bin/python# -*- coding:utf-8 -*-'''------------------------------------------function:多进程复制图片author: bingocreated: 2020-01-13------------------------------------------'''from Queu...原创 2020-01-16 22:17:57 · 131 阅读 · 0 评论 -
初学Python:time模块
# /usr/bin/python# -*- coding:utf8 -*-import timelocalTime = time.localtime()print (localTime)formatTime = time.strftime("%Y-%m-%d %H:%M:%S", localTime) print (formatTime)TIME_LINUX = time....原创 2020-01-13 21:36:47 · 120 阅读 · 0 评论 -
初学Python:logging模块(logging.handlers.RotatingFileHandler)
# /usr/bin/python# -*- coding:utf8 -*-import osimport loggingimport sysfrom logging.handlers import RotatingFileHandlerreload(sys)sys.setdefaultencoding('utf8') #修改系统的默认编码def create_logger(...原创 2020-01-13 21:35:08 · 1741 阅读 · 0 评论 -
初学Python:logging模块(logging.handlers.TimedRotatingFileHandler)
#! /usr/bin/python# -*- coding:utf-8 -*-import osimport loggingimport sysfrom logging.handlers import TimedRotatingFileHandlerreload(sys)sys.setdefaultencoding('utf8') #修改系统的默认编码def create_...原创 2020-01-13 21:33:59 · 2495 阅读 · 0 评论 -
初学Python:多线程脚本-使用Thread类创建(from threading import Thread)
#! /usr/bin/python# -*- coding:utf-8 -*-'''------------------------------------------function:多线程复制图片author: bingocreated: 2020-01-03------------------------------------------'''from Queu...原创 2020-01-13 21:24:32 · 2492 阅读 · 0 评论 -
Ubuntu环境下python安装升级
一般默认Ubuntu都自带Python,只是版本可能需要根据实际需要进行升级;避免直接从跨大版本升级(2.7.x至3.5.x)目标:升级Python,安装pip2第一种方案:升级步骤:一、用来指定更新 /etc/apt/sources.list 和 /etc/apt/sources.list.d 所列出的源地址,这样保证能获得最新的软件包sudo apt-get update二、升级...原创 2019-11-29 16:10:47 · 282 阅读 · 0 评论 -
logging日志模块-1
模块级函数logging.getLogger([name]):返回一个logger对象,如果没有指定名字将返回root loggerlogging.debug()、logging.info()、logging.warning()、logging.error()、logging.critical():设定root logger的日志级别logging.basicConfig():用默认Form...原创 2019-10-17 18:09:00 · 156 阅读 · 0 评论 -
初学Python:多线程脚本-重新写一个类,继承threading.Thread(第二种)
第二种写法(简略):重新写一个类,继承threading.Thread先看一个简单的例子理解一下:注意一点:**派生类中重写了父类threading.Thread的run()方法,其他方法(除了构造函数)都不应在子类中被重写,换句话说,在子类中只有_init_()和run()方法被重写。**使用线程的时候先生成一个子线程类的对象,然后对象调用start()方法就可以运行线程啦(start调用r...原创 2019-08-03 14:10:09 · 1489 阅读 · 0 评论 -
初学Python:encode、decode和Unicode等
本人是Python的初学者,阐述不到位或者不对之处,敬请见谅!首先搞清楚:字符串在Python内部的表示是unicode编码,我一般在Python代码开始,加上:reload(sys)sys.setdefaultencoding('utf-8') #修改系统的默认编码这样,代码默认的编码格式就是utf-8,另外,了解一下:print sys.getdefaultencoding() #...原创 2019-08-04 15:20:59 · 2970 阅读 · 0 评论 -
初学Python:logging日志模块
本人只是Python的初学者,阐述不到位或者不对之处,敬请见谅!一、概述1、logging日志模块四个主要类: logger #提供了应用程序可以直接使用的接口; handler #将(logger创建的)日志记录发送到合适的目的输出; formatter #决定日志记录的最终输出格式 filter #提供了细度设备来决定输出哪条日志记录;(备注:这个暂时不懂)2、模块级函数...原创 2019-08-04 16:29:57 · 213 阅读 · 0 评论 -
初学Python:sys.argv[]和argparse基本用法
sys.argv[]是一个从程序外部获取参数的桥梁,通过如下代码先直观了解一下(所有脚本在Linux环境中执行):#test.pyimport sysa = sys.argv[0]print(a)执行:python test.py输出结果:test.py#test.pyimport sysa = sys.argv[0]b = sys.argv[1]c = sys.a...原创 2019-07-31 22:36:52 · 2133 阅读 · 0 评论 -
初学Python:json知识
json基本使用:json.loads() #将json字符串转化为Python数据类型json.dumps() #python数据类型转化为json字符串json.load() #包含json的类文件对象转化为python数据类型json.dump() #python数据类型转化为包含json的类文件对象什么是类文件对象?具有read()或者write()方法的对象就是类文件...原创 2019-08-02 00:15:40 · 122 阅读 · 0 评论 -
初学Python:self和__init__的含义+为何要有self和__init__
本文转自:https://www.crifan.com/summary_the_meaning_of_self_and___init___in_python_and_why_need_them/接触了Python已有一段时间,这篇文是我目前看到写的至少能让我这个Python初级者能易理解的通俗易懂的文章背景回复:我写的一些Python教程,需要的可以看看中SongShouJiong的提...转载 2019-08-02 11:50:43 · 412 阅读 · 0 评论 -
初学Python:__name__ = '__main__'
name = ‘main’转载 2019-08-02 11:53:28 · 92 阅读 · 0 评论 -
初学Python:多线程脚本-使用Thread类创建,给构造函数传递回调对象(第一种)
个人比较习惯这种写法举个简单的场景:有一批图片和图片对应的list,现在需要将符合特定要求的图片拷贝到另一个路径下,采用多线程处理,代码如下(备注:只展示简单的代码框架,主要是理解queue和threading的写法,具体内容还得靠自己写):使用Thread类创建,给构造函数传递回调对象# /usr/bin/python# -*- coding:utf-8 -*-import os,...原创 2019-08-03 14:08:49 · 673 阅读 · 0 评论