自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sonnyuu的博客

热爱测试,不断学习中

  • 博客(65)

原创 Python+Selenium框架篇10-封装一个自动发邮件测试报告功能系列-下

本文介绍如何封装一个自动发邮件测试报告功能系列在上两篇介绍了【发送带附件邮件】和【【找到最新的测试报告】的方法,接下来我介绍何如将自动发送邮件测试报告方法集成封装到自动化项目中层次结构如下:首先我们将这两个方法统一封装到公共包method.py方法类里,方便以后调取代码如下:import timeimport os.pathfrom email.mime.text import M...

2019-06-20 18:06:49 325

原创 Python练习篇26-超大文件批量替换字符

本文介绍超大文件批量替换字符一般遇到超大文件读取,最好使用line去一行行读取,不然直接读取全部,内容过大,容易死机。代码如下:# coding=utf-8file_path = "" # 文件路径with open(file_path, "r", encoding="utf-8") as f: for line in f: print(line)这样的话文件就是一行行读取打印。下面我们将代码进行封装,读取的文件一行行去批量替换字符,再将替换好的新文本写入。代码如

2020-07-02 11:15:47 144

原创 python+requests练习篇1-下载保存图片

本文介绍如何使用requests下载保存图片一般下载都需要使用到get请求代码如下:# coding=utf-8# 导入requests包import requestsimport timeurl = "" # 下载照片的urlfile_path = ""存放照片路径new = time.strftime('%Y-%m-%d %H_%M_%S', time.localtime(time.time())) # 当前日期# 设置照片格式及存放路径file = file_path +

2020-07-01 15:27:54 93

原创 python+requests练习篇2-上传图片或文件

本文介绍如何使用requests上传图片或文件一般上传都需要使用到post请求,使用files参数上传图片或文件代码如下# coding=utf-8# 导入requests包import requestsurl = "" # 上传文件的接口地址header = {"Content-Type":"", "Cookie":"" } # 请求头部信息data= {} # data传参(部分接口需要data传参)file_path = "" # 图片或文件的绝对路径file = {"

2020-07-01 14:54:03 106

原创 Python报错集合篇10-NameError: name 'namee' is not defined

本文介绍如何处理报错–NameError: name ‘namee’ is not defined源代码:name = "Jack"print(namee)运行报错如下:Traceback (most recent call last): File "D:/Program Files/PycharmProjects/pycharmPrj/zzz/lx/lx2.py", lin...

2020-01-03 10:22:27 170

原创 MySQL数据库练习篇2-建表语句

本篇介绍MySQL建表基本操作1、建表格式首先介绍建表关键词 create table 表名格式如下:create table 表名(列名1 数据类型,列名2 数据类型,……列名n 数据类型);其中,表名、列名可以由字母、数字和下划线组成,必须以字母开头,不能是系统关键字2、数据类型数字类型:int 整数tinyint 范围从0到255之间的整数float(m,n)...

2019-09-26 17:43:26 112

原创 Python练习篇25-re模块利用正则匹配提取网页邮箱并保存

本文介绍requests模块提取网页邮箱并保存提取网页邮箱我们需要用到re模块(下载方法:打开cmd,输入pip install 包名),负责去匹配邮箱数据。本篇我们演示下提取百度邮箱(http://home.baidu.com/contact.html)图例如下:只提取红框里面邮箱数据代码如下#提取网页邮箱并保存import requestsimport xlwt impor...

2019-09-20 11:42:23 494

原创 Python练习篇24-bs4模块抓取网页数据并保存

本文介绍requests模块抓取网页信息为了方便查找抓取数据和保存数据,还需要一个bs4模块和xlwt模块(下载方法:打开cmd,输入pip install 包名)本篇我们演示下抓取豆瓣音乐排行榜(https://music.douban.com/chart)图例如下:点击F12打开HTML源码,我们可以看出每个标签下都有一个a标签的电影名,因此我们可以定位搜索电影名了。代码如下:#...

2019-09-20 10:47:23 292

原创 Python练习篇23-os模块获取路径

本文介绍os模块获取路径方法首先我们需要导入os模块代码如下:#os模块import os#os.getcwd()获取当前路径current_path = os.getcwd()print(current_path)#os.path.abspath(name)获取绝对路径,name可以是文件名或目录my_path = os.path.abspath('test.ini') ...

2019-09-17 17:08:00 68

原创 Python练习篇22-os模块增删改查目录

本文介绍os模块增删改查目录首先我们需要导入os模块写个类封装代码如下:#os模块import osimport timeclass OS_dir(object): def __init__(self): self.path = os.getcwd()#当前路径 self.time = time.strftime('%Y-%m-%d',...

2019-09-09 17:40:49 73

原创 Python练习篇21-MySQL数据库的链接及增删查改操作

本文介绍Python对MySQL数据库的链接操作首先我们需要下载第三方包:pymasql(下载方法:打开cmd,输入pip install 包名)写个类封装代码如下:import pymysql #导入pymysql模块class PyMySQL(object): #初始化链接服务器 def __init__(self, host, user, pwd, db):...

2019-09-09 15:53:03 61

原创 Python练习篇20-类的继承

本文介绍类的继承上一篇介绍了什么是类,这一篇介绍类的继承。继承可以使子类拥有父类的各种属性和方法,不用重新编写。下面实例说明下:class A(): def __init__(self): print('我是a的初始化属性') def fun1(self): print('我是a的方法')class B(A): def __in...

2019-09-06 15:08:41 134

原创 Python练习篇19-类的介绍

本文介绍类根据前几篇已经接触了类,简单明了的理解类就是属性+方法的集合。格式语法如下:class ClassName(object): #class关键字 +加class名称 def __init__(self, x=1 ): #初始化属性(变量)x=1为默认值 self.x = x def fun1(self): #方法(函数) return self.x...

2019-09-06 14:39:32 54

原创 Python练习篇18-yaml文件读写操作

本文介绍如何读写操作yaml文件首先我们需要下载第三方包:yaml(下载方法:打开cmd,输入pip install 包名)写个类封装yaml文件的读写方法代码如下:import yaml #导入yaml模块#封装一个类方法class RWyaml(object): def __init__(self, file_name): self.y = yaml...

2019-09-05 16:59:52 157

原创 Python练习篇17-ini文件读写操作

本文介绍如何读写操作ini文件首先我们需要下载第三方包:configparser(下载方法:打开cmd,输入pip install 包名)写个类封装ini文件的读写方法代码如下:import configparser as cp #导入模块#封装一个类方法class RWini(object): def __init__(self, file_name): ...

2019-09-05 14:36:29 56

原创 Python练习篇16-Excel表格读写操作

本文介绍如何读写操作Excel表格首先我们需要下载第三方包:xlwt和xlrd,这两个模块很强的,xlwt负责写入Excel,xlrd负责读出Excel。下面我们先介绍xlwt写入Excel操作代码如下:import xlwt #首先导入xlwt模块#自定义字体样式,根据自己需要调整,也可以不要def set_style(): style = xlwt.XFStyle(...

2019-09-04 16:55:09 223 1

原创 Python练习篇15-with语句介绍

本文介绍with语句介绍及使用代码如下:with语句会自动处理文件的打开和关闭,中途出现异常后,会自动清理代码,确保文件关闭。妈妈再也不用担心我粗心打开文件后忘记关闭了,嘻嘻。代码如下:#打开一个文件with open('text.txt', 'w') as f: f.write('Hello\nWorld')#打开多个文件with open('text1.txt', ...

2019-09-03 16:36:45 28

原创 Python练习篇13-try语句使用及异常处理

本文介绍try语句介绍及使用代码如下:try: print(int('try')) #异常不执行 except: print('except') #try语句出现异常才会执行 else: #try语句下面无异常才执行 print('else') finally: #必须执行的语句 print()执行如下:except...

2019-09-03 15:59:53 131

原创 Python练习篇12-txt文件处理

本文介绍文件的操作代码如下:import osfile_name = 'text.txt' #文件名,只能打开当前路径下文件,其他路径文件需改为对应路径#write()方法写入text = 'Hello World' #文本f = open(file_name, 'w') #‘w’,表示开放写的权限,写入内容会覆盖之前内容f.write(text) #写入text文本f....

2019-09-03 15:08:28 82

原创 Python练习篇11-集合

本文介绍集合的使用和方法上一篇介绍了字典,这边接着介绍集合的使用,跟字典一样同样也是用大括号“{}”括起来的数据。集合有什么特征呢?1.元素唯一性,不可能有两个相同元素;2.无序,不可通过列表属性索引下面我们实际来介绍下集合吧代码如下:#集合set1 = {1, 2, 3, 2, 3}#打印类型print(type(set1)) #<class 'set'>...

2019-09-02 17:40:29 49

原创 Python练习篇10-字典

本文介绍字典的使用和方法什么是字典?我们可以理解成,使用大括号 “{}” 括起来的 关系数组(键值对组合)代码如下:#字典d = {1:'one',2:'two',3:'three'}print(type(d)) #打印类型#<class 'dict'>#打印对应的值print('1对应的英文是:'d[1]) #1代表字典键1#1对应的英文是:'one'...

2019-09-02 17:13:27 53

原创 Python练习篇9-递归的介绍和使用

本文介递归的介绍和使用首先来介绍下什么是递归?1.表现为函数调用自身的一个行为;2.设计正确有效的返回条件。下面我们来举例说明代码如下:#递归求阶乘def Factorial(n): if n == 1: #设置返回条件 return 1 else: return n * Factorial(n-1)print('5的阶乘是:',...

2019-09-02 16:03:46 57

原创 Python练习篇8-匿名函数:lambda表达式

本文介匿名函数:lambda表达式lambda表达式适用于一次函数的使用,比如不经常使用的函数,我们就没必要去单独定义它,用lambda表达式创建,简洁明了提高代码可读性。下面有个普通函数,我们尝试将其转变为匿名函数代码如下:#普通函数def MyAdd(x, y): return x + y print('普通函数MyAdd:', MyAdd(3, 5))#匿名...

2019-09-02 15:39:21 107

原创 Python练习篇7-函数

本文介Python的函数定义和使用首选介绍函数的格式,如下为:def Myfunction(): #--------def + 函数名 +(可加参数) + “:” #函数体 #统一的缩进 #函数体 Myfunction() #调用函数 下面我们写个完成的函数,并试着调用看看def Myfunction(x): '''这是函数的文档''' ...

2019-09-02 15:23:03 42

原创 Python练习篇6-while循环

本文介while循环的使用while循环中需要注意退出机制,不然会发生死循环,直到内存耗尽,Ctrl+c可以手动停止。循环打印1-5代码如下:n = 0while True: if n == 5: #首选设置退出条件 break n += 1 print(n) 利用while循环写一个数字游戏代码如下:import random...

2019-08-30 17:36:29 46

原创 Python练习篇5-for循环

本文介for循环的使用for循环语句常用在迭代打印代码如下:for i in range(3): #打印0-3,不包括3 print(i)'''输出:012'''for i in range(1,3): #打印1-3,不包括3 print(i)'''输出:12'''for i in range(1,5,2): #打印1-5,不包括5,步数为2...

2019-08-30 16:39:52 74

原创 Python练习篇4-if分支语句

本文介if分支语句if分支语句的使用主要有三种,if–if,if–else和if–elif—else。第一种:if–if代码如下:l = [1, 2]if 1 in l: print('Pass')if 3 not in l: print('Fail') if 1 and 2 in l: print('Pass') 运行结果如下:Pass...

2019-08-30 15:50:20 52

原创 Python练习篇3-元祖介绍

本文介元祖的常见操作首先介绍下向什么是元祖?----可以理解成:元祖就是封闭的列表,一旦定义,就不可改变(不能添加、删除或修改)----适用于数据不被轻易改写的场景下,相反与可以轻松频繁修改数据的列表那么既然说元祖是封闭的列表,那能使用列表的内置方法吗?----答案是,可以使用,但仅仅是两个方法可以,其他都不适用。那究竟是哪两个方法呢,下面介绍下代码如下:# t = (1,2,3,3...

2019-08-30 14:43:22 50

原创 Python练习篇2-列表常见操作

本文介列表的常见操作首先介绍下向列表增加元素的三种方法:appent()、extent()、insert()代码如下:#列表l = [1,2,3,3]#appent()方法是将参数作为一个元素增加到列表的末尾l.appent(4)print(l)#输出:[1,2,3,3,4]l.appent([4,5])print(l)#输出:[1,2,3,3,4,[4,5]]#e...

2019-08-30 12:42:36 66

原创 Python练习篇1-字符串输出格式

本文介绍字符串使用和输出格式#字符串s = 'Hello'print(type(s)) #打印类型#输出结果:#<class 'str'>#插入s = s + 'World' #用加号尾部链接print(s)#输出结果:#HelloWorlds = s[:5] + ',Python,' + s[5:] #中间插入str[:n] + str +...

2019-08-29 14:22:45 261

原创 Python报错集合篇9-SyntaxError: positional argument follows keyword argument

本文介绍如何处理报错–SyntaxError: positional argument follows keyword argument源代码:def fun(x, y): print(x, y)fun(x=1, 2)运行报错如下:C:\Python37\python.exe "D:/Program Files/PycharmProjects/pycharmPrj/zzz/...

2019-08-28 16:19:00 6271

原创 Python报错集合篇8-UnboundLocalError: local variable 'x' referenced before assignment

本文介绍如何处理报错–UnboundLocalError: local variable ‘x’ referenced before assignment源代码:def fun1(): x = 2 def fun2(): # nonlocal x x *= x return x return fun2()print(fu...

2019-08-28 16:09:43 515

原创 Python报错集合篇7-KeyError: 1

本文介绍如何处理报错–KeyError: 1源代码:dict1 = {}key = 1print(dict1[key])运行报错如下:Traceback (most recent call last): File "D:/Program Files/PycharmProjects/pycharmPrj/zzz/Python/lx0.py", line 49, in <mo...

2019-08-28 15:17:06 2270

原创 Python报错集合篇6-IndexError: list index out of range

本文介绍如何处理报错–IndexError: list index out of range源代码:list1 = [1, 2, 3, 4]print(list1[len(list1)])运行报错如下:Traceback (most recent call last): File "D:/Program Files/PycharmProjects/pycharmPrj/zzz/...

2019-08-28 15:01:18 1273

原创 Python报错集合篇5-FileNotFoundError: [Errno 2] No such file or directory: '不存在的文档.txt'

本文介绍如何处理报错–源代码:f = open('不存在的文档.txt')print(f.read())f.close()运行报错如下:Traceback (most recent call last): File "D:/Program Files/PycharmProjects/pycharmPrj/zzz/Python/lx0.py", line 38, in <...

2019-08-28 14:47:17 6104

原创 Python报错集合篇4-SyntaxError: invalid syntax

本文介绍如何处理报错–TypeError: unhashable type: 'list’源代码:print([1, 2, 3, 4, ,])运行报错如下:C:\Python37\python.exe "D:/Program Files/PycharmProjects/pycharmPrj/zzz/Python/lx0.py" File "D:/Program Files/Pycha...

2019-08-28 14:39:34 341

原创 Python报错集合篇3-TypeError: unsupported operand type(s) for +: 'int' and 'str'

本文介绍如何处理报错–TypeError: unsupported operand type(s) for +: ‘int’ and 'str’源代码:print(1 + '1')运行报错如下:Traceback (most recent call last): File "D:/Program Files/PycharmProjects/pycharmPrj/zzz/Pytho...

2019-08-28 14:32:57 2396

原创 Python报错集合篇1-ValueError: invalid literal for int() with base 10: 'asd'

本文介绍如何处理报错–ValueError: invalid literal for int() with base 10: 'asd’源代码:#列如:print(int(‘asd’))print(int(‘1.11’))print(int(‘-1.11’))print(int(‘你好’))此类运行都会报错如下:Traceback (most recent call last...

2019-08-28 14:23:05 272

原创 Python练习篇14-如何统一处理多类异常

本文介绍如何统一处理常见的多类异常:TypeError、OSError、ValueError、KeyError只需要在except后面用(),将多个需要统一处理的异常括起来。代码如下:try: int('asd') #ValueError sum = 1 + '1' #TypeError dict1 = {} keys = in...

2019-08-28 11:25:11 328

原创 Python报错集合篇2-TypeError: unhashable type: 'list'

源代码:import easygui as gdict1 = dict()name = g.multenterbox('请输入', '异常测试' , ['请输入key:'])print(name, ':', dict1[name])运行如下:输入‘你好’报错如下:TypeError: unhashable type: 'list'由于列表和字典都不能hash,multen...

2019-08-28 10:10:46 261

空空如也

空空如也

空空如也
提示
确定要删除当前文章?
取消 删除