Python
文章平均质量分 52
《Python基础教程(第3版)》的学习笔记。如果想熟练掌握Python,还是建议买书系统的学习一下:)
糖冰橙
努力确实会上瘾
展开
-
Pytest控制台输出信息说明
在pycharm中执行测试用例,会在控制台打印如下信息:在上图中7和8的测试结果,会有如下几种情况:说明测试结果(7)测试结果(8)测试通过.passed测试失败(fail或xpass与strict冲突造成的失败)Ffailed测试未被执行sskipped预计测试失败,并且确实失败xxfail预计测试失败,但实际上运行通过,不符合预期Xxpassed测试用例之外的触发代码异常Eerror举例import pytest原创 2021-06-17 22:59:05 · 1032 阅读 · 3 评论 -
pytest参数化处理:使用参数化装饰器、解析列表、元组、字典等数据
在pytest中,也可以使用参数化测试,即每组参数都独立执行一次测试。使用的额装饰器为@pytest.mark.parametrize(argnames, argvalues)列表形式# 列表data = ['123', '456']@pytest.mark.parametrize('pwd', data)def test01(self, pwd): print(pwd)元组形式data2 = [(1, 2, 3), (4, 5, 6)]@pytest.mark.parame原创 2021-06-15 22:13:51 · 635 阅读 · 2 评论 -
pytest标记:查找测试策略、标记测试函数
Pytest查找测试策略默认情况下,pytest会递归查找当前目录下所有以test开始或结尾的Python脚本,并执行文件内的所有以test开始或结束的函数和方法。标记测试函数由于某种原因(如test_func2的功能尚未开发完成),我们只想执行指定的测试函数。在pytest中有几种方式可以解决:第一种,显式指定函数名,通过::标记pytest test_no_mark.py::test_func1第二种,使用模糊匹配,使用-k选项标识pytest -k func1 test_no_mark原创 2021-06-14 21:48:44 · 350 阅读 · 8 评论 -
pytest 简介:安装、用例编写规则、执行用例
pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点:简单灵活,容易上手,文档丰富;支持参数化,可以细粒度地控制要执行的测试用例;能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests);pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfa原创 2021-05-30 23:01:08 · 160 阅读 · 2 评论 -
python项目生成requirements.txt
Python通过requirements.txt文件来进行项目中依赖的三方库进行整体安装导入,如Java有Maven、Gradle,JS有NPM等。1 生成requirements.txt生成requirements.txt有两种方式,先介绍使用方法,再说两者区别1.1 pip freezepip freeze > requirements.txt这种方式配合 virtualenv 才好使,否则把整个环境中的包都列出来1.2 pipreqs切换到项目根目录下,执行:pipreqs原创 2021-04-13 15:10:33 · 255 阅读 · 0 评论 -
将Linux默认使用Python2更改为Python3
直接执行这两个命令即可:sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150如果要切换到Python2,执行:sudo update-alternatives --config python...原创 2020-10-26 19:28:21 · 773 阅读 · 0 评论 -
linux系统安装python3.6
如果系统已经安装了python2.x,不需要卸载,直接安python3因为可能有程序依赖目前的python2环境,比如yum。安装依赖环境yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel如果安装依赖不成功,则执行如下命令安装依赖sudo apt-get原创 2020-10-26 19:27:03 · 649 阅读 · 0 评论 -
Python 操作Redis集群
Python 的 Redis 库是不支持集群操作的,推荐库:redis-py-cluster安装pip install redis-py-cluster连接集群并操作setfrom rediscluster import StrictRedisClusterclass RedisCluster(object): # 连接redis集群 def __init__(self, conn_list): self.conn_list = conn_list # 连接列表原创 2020-08-21 14:48:36 · 568 阅读 · 0 评论 -
安装完redis-py-cluster,运行脚本报错ImportError: cannot import name ‘StrictRedisCluster‘
环境信息redis : 3.0.1redis-py-cluster : 2.0.0原因通过pip直接安装的redis驱动都采用的最新版本,而最新版的redis-py-cluster模块中根本没有StrictRedisCluster。解决方案降版本,同时还要考虑版本兼容性,推荐采用的是redis-2.10.6和redis-py-cluster-1.3.5pip install redis==2.10.6pip install redis-py-cluster==1.3.5...原创 2020-08-19 08:33:08 · 827 阅读 · 0 评论 -
Python学习笔记8:self参数
示例:编写一个汽车类,包含三个函数:构造函数,行驶速度和基础信息函数:class Car: def __init__(self, brand, color): self.brand = brand self.color = color def run(self, s): print("当前行驶速度: ", s, "km/h") def print_car(self): print("品牌:", self.bra原创 2020-08-07 22:28:43 · 421 阅读 · 0 评论 -
pip install mysql-python报错:ModuleNotFoundError: No module named ‘ConfigParser‘
报错信息:~sudo pip3 install mysql-pythonPassword:WARNING: The directory '/Users/tangbincheng/Library/Caches/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of t.原创 2020-08-01 14:15:22 · 1117 阅读 · 0 评论 -
mac安装、管理多个Python版本
macOS自带Python版本是2.7,如果需要使用Python3可以通过brew轻松安装,但是,当我们需要为Python3安装一些模块的时候,系统会首先将模块安装到默认的2.7版本上去。有一个比较简单的处理方法,可以通过pyenv来对macOS上的多个Python版本进行安装和管理。安装pyenvbrew install pyenv安装完成后,可以使用pyenv命令查看安装版本和命令说明...原创 2020-03-29 19:27:01 · 3600 阅读 · 0 评论 -
Python从0到1学习之路
书籍推荐编程入门零基础入门:《Python编程 从入门到实践》需要有其他编程语言基础:《Python基础教程(第三版)》学习笔记基础语法1、序列2、字符串:格式化语法 、 常用方法3、字典4、循环5、函数6、类7、模块...原创 2020-03-28 18:07:00 · 426 阅读 · 0 评论 -
Python学习笔记:条件语句和循环语句
文章目录1 条件语句1.1 布尔值1.1 if语句1.2 else语句1.3 elif语句1.4 代码块嵌套1.5 更复杂的条件1.5.1 比较运算符1.5.2 逻辑运算符1.6 断言2 循环2.1 while循环2.2 for循环2.3 迭代字典2.3 跳出循环2.3.1 break2.3.2 continue1 条件语句1.1 布尔值在Python中,标准值False和None、各种类型...原创 2020-03-28 17:27:41 · 312 阅读 · 0 评论 -
Python异常:IndentationError: expected an indented block
异常:IndentationError: expected an indented block翻译为:缩进错误: 期望一个缩进的块异常代码:解决:在报错的逻辑代码的前面加个空格就ok了原创 2020-03-28 16:52:19 · 821 阅读 · 0 评论 -
Python3使用PyMySQL操作MySQL
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。1 基本介绍1.1 安装PyMySQL$ pip3 install PyMySQL1.2 导入模块import pymysql1.3 ...原创 2020-03-15 17:32:54 · 344 阅读 · 0 评论 -
Python学习笔记:字典
文章目录1 字典的用途2 基本用法2.1 创建字典2.2 基本操作2.3 将字符串格式设置功能用于字典2 字典方法2.1 clearcopy2.3 fromkeys2.4 get2.5 items2.6 keys2.7 values2.8 pop2.9 popitem2.10 setdefault2.11 update可以通过名称来访问各个值的数据结构,成为映射(mapping),字典是Pyth...原创 2020-02-23 18:15:03 · 260 阅读 · 0 评论 -
安装MySQL-python, 使用import MySQLdb',报_mysql.so, 2): Symbol not found: _mysql_affected_rows
最近用python脚本写了一些数据库相关的脚本,用的是MySQLdb库。然后部门以后要用RF来做接口,搭建完环境,发现原先的脚本不能用了;原因是:wxPython2.8依赖 32位的 python2.7而不是64位。而MySQL-python依赖64位的 python2.7 。所以会报 _mysql.so, 2): Symbol not found: _mysql_af...原创 2020-02-14 10:28:48 · 2005 阅读 · 2 评论 -
执行Python脚本报错:SyntaxError: Non-ASCII character '\xe8' in file......
如果python(2.x)脚本中带有中文,则会报错:SyntaxError: Non-ASCII character '\xe8' in file demo.py on line 7, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details原因是而Python 2.x支持的 ASCII 码无...原创 2020-02-02 10:50:55 · 4977 阅读 · 0 评论 -
执行python setup.py install时报错:error: can't create or remove files in install directory
在研究setuptools时,执行python setup.py install,遇到不能创建文件夹的权限报错,完整的错误日志如下:~ python setup.py installrunning installerror: can't create or remove files in install directoryThe following error occurred whil...原创 2020-02-01 20:58:24 · 20296 阅读 · 6 评论 -
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate
最近在学习web相关的库,编写demo运行后会出现ssl:certificate_verify_failed这个问题,错误日志如下:ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ss...原创 2020-01-31 11:07:53 · 22474 阅读 · 0 评论 -
Python学习笔记:Matplotlib库的安装
最近做app的性能测试,在整个流程的后半段,大量的数据令人很头疼,所以我们需要把它图形化显示,这样就能更直观的判断app的性能指标。由于我的脚本是由Python写得,所以我选择Matplotlib。matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。官网地址:http://matplotlib.org/index...原创 2014-08-24 15:41:10 · 974 阅读 · 0 评论 -
Python常用方法:os.popen()
最近公司要求做一些android app的性能测试,在考虑将其自动化的时候,我选择用python用来写脚本。在用python来给cmd发送指令的时候,我选择使用 os.popen(command[, mode[, bufsize]]),该方法能执行系统指令,并返回执行后的结果值。我的方法如下:def execCmd(cmd): cmd_in = os.popen(cmd) ...原创 2014-08-16 14:14:00 · 1121 阅读 · 0 评论 -
Python配置文件标准库模块configparser的使用
在Python中,对于全局变量或常量,可放在独立的文件中,而不是将他们放在模块开头。为此,最简单的方式是专门为配置创建一个模块。另一种方法,就是使用标准库模块configparser。格式:配置文件格式:文件必须使用标题名将其分成几个部分(section),标题名称可以随便指定,如 [files]、[colors]等,但必须用方括号括起。赋值可使用Python的标准赋值语法,可以使用冒...原创 2020-02-03 10:44:50 · 226 阅读 · 0 评论 -
Python单元测试工具:doctest的使用方法
doctest本身是一个为检查文档而设计的,但非常适合用来编写单元测试。新建一个名为 my_math.py 的文件,并编写以下代码:def square(x): ''' 计算平方并返回结果 >>> square(2) 4 >>> square(3) 9 ''' return x * xif __name__ == '__...原创 2020-02-01 10:46:32 · 507 阅读 · 0 评论 -
Python打包工具Setuptools的使用
文章目录基础使用打包Setuptools并非只能用于创建基于脚本的Python安装程序,还可以用于编译扩展,另外,通过将其与扩展py2exe和py2app结合起来使用,还可以创建独立的win和macOS平台上可执行的程序。Python打包用户指南和 Setuptools官网有很多相关文档可以参考。基础使用本文只做一个简单的示例:1、编写一个简单的python脚本(代码随意),保存为’h...原创 2020-02-02 17:18:30 · 759 阅读 · 0 评论 -
Python调用外部进程的几种方法
在Python中调用外部程序(Shell脚本或者是调用系统命令)是很常见的需求,平常用的较多的,有下面几种方法:os.system执行外部程序后,会返回一个状态码,来判断执行是否成功(一般而言0为成功,不同的系统环境该状态可能不一样)system()在执行过程中进行了以下三步操作:1、fork一个子进程;2、在子进程中调用exec函数去执行命令;3、在父进程中调用wait(阻塞)去等待...原创 2020-01-28 23:28:08 · 1962 阅读 · 0 评论 -
Python常用方法:集合(set)、堆(heap)
Python常用的数据结构有很多:集合(set)集合是有内置类set实现的,无须导入sets模块,就能直接创建。>>>set(range(10)){0, 1, 2, 3, 4, 5, 6, 7, 8, 9}日常也可以使用序列来创建集合,也可使用花括号显示地指定。注意不能仅使用花括号来创建空集合,因为这会创建一个空字典>>>type({})<...原创 2020-01-29 10:47:44 · 495 阅读 · 0 评论 -
Python学习笔记:模块
文章目录导入模块代码导入自定义模块放入指定目录包模块详解变量__all__help函数文档源码导入模块通过import将函数从外部导入到程序中:>>>import math>>>print(math.sin(0))0.0代码导入自定义模块任何python程序都可作为模块导入。编写以下程序,并且保存为hello.py,文件名hello既是模块的名...原创 2020-01-28 11:18:25 · 282 阅读 · 0 评论 -
Python学习笔记:类
文章目录自定义类私有属性超类每个对象都属于特定的类,并被称为该类的实例自定义类先写一个简单的示例:class Person: def set_name(self, name): self.name = name def get_name(self): return self.name def greet(self): ...原创 2020-01-26 14:46:01 · 169 阅读 · 0 评论 -
Python学习笔记:函数
文章目录函数定义参数关键字参数收集参数分配参数作用域函数定义函数是使用def语句定义的。函数由语句块组成他们从外部接收值(参数),并可能返回一个或多个值(计算结果)。如:def hello(name): return 'Hello, ' + name + ' !'定义完函数后,就可以像使用内置函数那样使用这个函数:>>>print(hello('tang')...原创 2020-01-24 16:01:54 · 245 阅读 · 0 评论 -
Python学习笔记:字符串的常用方法
文章目录1.1 center1.2 find1.3 join1.4 split1.5 replace1.6 translate1.7 lower1.8 strip1.9 判断字符串是否满足特定条件所有的标准序列操作(索引,切片,乘法,成员资格检查,长度,最小值和最大值)都适用于字符串,但字符串是不可变的,因此赋值是非法的。字符串方法太多了,这里介绍一些最有用的1.1 center方法cen...原创 2020-02-16 17:20:21 · 231 阅读 · 0 评论 -
Python学习笔记:字符串格式化
文章目录1 替换字段名2 基本转换2.1 格式2.2 类型3 格式说明3.1 宽度3.2 精度3.3 千位分隔符3.4 符号3.5 对齐3.6 填充Python的字符串格式化有两种方式:%格式符方式,format方式。在Python 3.x里,推荐使用format格式化函数。基本思想是对字符串调用format方法,并提供要设置其格式的值。每个值都被插入字符串中,已替代用花括号括起的替代字段替...原创 2020-02-16 17:18:23 · 270 阅读 · 0 评论 -
Python学习笔记:序列
文章目录1 通用的序列操作1.1 索引1.2 切片1.2.1 简写1.2.2 步长1.3 序列相加1.4 乘法1.5 成员资格1.6 长度、最大值和最小值2 列表2.1 赋值元素2.2 删除元素2.3 切片赋值2.4 列表方法2.4.1 append2.4.2 clear2.4.3 copy2.4.4 count2.4.5 extend2.4.6 index2.4.7 insert2.4.8 po...原创 2020-02-15 18:46:39 · 226 阅读 · 0 评论