python
python开发
公子清羽
这个作者很懒,什么都没留下…
展开
-
发送http请求时,以form-data的格式作为requests的参数
表示一个文件对象,通过 Python 的 io 模块打开了一个名为 'img/23.jpg' 的文件。这个对象允许你以文件流(stream)的形式来读取文件的内容,并且保留了文件的元数据(例如文件名、文件路径等)。你可以使用这个文件对象来进行文件读取操作,也可以将它传递给其他需要文件对象作为参数的函数。表示一个 bytes 类型的对象,是 Python 中用于表示二进制数据的一种数据类型。是表示二进制数据的对象,两者在概念上和用途上有所不同。前者适用于文件的 I/O 操作,后者适用于处理二进制数据。原创 2024-05-24 17:55:36 · 407 阅读 · 0 评论 -
在 f-string 中使用大括号 {} 来表示占位符时,如果要在字符串中嵌套大括号,应该使用双大括号 {{}} 来表示
来表示占位符时,如果要在字符串中嵌套大括号,应该使用双大括号。在 f-string 中使用大括号。原创 2023-04-19 13:44:57 · 696 阅读 · 0 评论 -
eval把字符串转为字典时报错: name ‘false‘ is not defined 解决方法
【代码】eval把字符串转为字典时报错: name 'false' is not defined 解决方法。原创 2023-02-23 18:14:47 · 1233 阅读 · 0 评论 -
python项目使用pyinstaller打包
python项目使用pyinstaller打包原创 2022-11-24 19:30:06 · 1269 阅读 · 0 评论 -
截图方法get_screenshot_as_file()注意点
get_screenshot_as_file()截图的方法中不允许存在以下符号 / : * ? # ” < > |原创 2022-11-07 10:34:36 · 1471 阅读 · 0 评论 -
python列表逆序的方法
a = [0,1,2,3,4,5,6,7,8,9]b = a[i:j] 表示复制a[i]到a[j-1],以生成新的list对象b = a[1:3] 那么,b的内容是 [1,2]当i缺省时,默认为0,即 a[:3]相当于 a[0:3]当j缺省时,默认为len(alist), 即a[1:]相当于a[1:10]当i,j都缺省时,a[:]就相当于完整复制一份a了b = a[i:j:s]这种格式呢,i,j与上面的一样,但s表示步进,缺省为1.所以a[i:j:1]相当于a[i:j]当s<0时.原创 2022-04-28 10:40:23 · 1790 阅读 · 0 评论 -
jsonpath中多条件提取和过滤提取
在JsonPath中创建表达式之前,您必须了解两个重要的符号。?:问号,标记表达式的开头。使用的语法[?(表达)][? (Expression)]@: 在符号处表示正在处理的当前节点。语法使用$.books[?(@.price > 100)3、多条件时$.data[?(@.attribute ==1&&@.productKind==2)].productId...原创 2022-04-25 15:29:56 · 4187 阅读 · 0 评论 -
python的的__dict__属性
将字典转换成对象的小技巧bokeyuan = {"b": 1, "o": 2, "k": 3, "e": 4, "y": 5, "u": 6, "a": 7, "n": 8, }class Dict2Obj: # def __init.原创 2022-04-24 16:59:17 · 1045 阅读 · 0 评论 -
python类名、类方法(cls)修改类变量的值
# 通过类对象是无法修改类变量的值的,本质其实是给类对象新添加 name 和 age 这 2 个实例变量。不会影响类的其它实例化对象,更不会影响同名的类变量。 # 和类变量不同,实例变量只能通过类对象名访问,无法通过类名访问。 # 通过cls和类名修改类变量的值,会修改同名的类变量,会影响所有的实例化对象class Person: name='jerry' age='20' def __init__(self, name, age): ...原创 2022-04-22 19:03:32 · 2424 阅读 · 0 评论 -
把一个逗号分隔的很长的字符串转换为列表和eval函数的简介和语法
1 eval函数的简介和语法:eval()函数用来执行一个字符串表达式,并返回表达式的值。还可以把字符串转化为list、tuple、dict。eval函数的语法:eval(expression[,globals[,locals]])参数:expression:表达式。globals:变量作用域,如果被提供,必须是一个字典对象。locals:变量作用域,如果被提供,可以说任何映射对象。2 eval()函数使用实例:1 字符串转换成列表:a="[1,2,3,4,5]"b=e.原创 2021-12-30 16:00:01 · 430 阅读 · 0 评论 -
python调用jar包
1、下载JPype1版本前要先使用命令查看匹配什么版本在CMD执行:python -m pip debug --verbose2、JPype1 (下载链接 https://pypi.org/project/JPype1/#files)下载地址https://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype3、在下载文件放置的路径下执行:pip installJPype1-1.3.0-cp38-cp38-win_amd64.whl 即可...原创 2021-11-30 17:32:43 · 317 阅读 · 0 评论 -
requests请求响应结果转为中文
那么,问题来了,\u表示的那一 串unicode编码, 怎么转换成中文,可以用下面的命令print(res.text.encode().decode("unicode_escape"))那么问题来了,这个unicode-escape什么来的呢在python中,对于unicode存储时,可以采用另一种方法:将unicode的内存编码值进行存储,读取文件时在反向转换回来。这里就采用了unicode-escape的方式解决办法:print(res.conten...原创 2021-10-21 19:22:45 · 1150 阅读 · 0 评论 -
python中decode()和encode()的使用
对于很多人来说,python的中字符转码是一件很头疼的事情,本来期望结果输出的是中文,结果来一段像这样\xe4\xbd\xa0\xe5\xa5\xbd像是乱码的字符串。由于学python没多久,昨天使用python的时候,就遇到这种问题,现在来深入研究下与之相关的encode()和decode()函数,和如何把如乱码般的字符串转成中文。encode()和decode()都是字符串的函数,可直接查看关于python字符串章节的官方文档:https://docs.python.org/3/libra.原创 2021-10-21 18:56:57 · 656 阅读 · 0 评论 -
Pycharm 创建一个项目的界面说明
Pycharm确实是一个非常不错的Python开发IDE,尤其对于初学者而言。打开新建项目1.选择新建一个Pure Python项目,新建项目路径可以在Location处选择。2.Project Interpreter部分是选择新建项目所依赖的python库,第一个选项会在项目中建立一个venv(virtualenv)目录,这里存放一个虚拟的python环境。这里所有的类库依赖都可以直接脱离系统安装的python独立运行。3.Existing Interpreter关联已经存..原创 2021-08-30 23:00:05 · 1391 阅读 · 0 评论 -
python中list、元组、字典相互转换
Python面试题:如何判断字典a在字典b中已知一个dict 比如a = {"a":1},另一个dict比如为b = {"a":1,"b":2},如何判断a是否在与b中。一般在接口测试的时候,返回的参数比较多的情况,如果一个个字段去校验,会比较麻烦,那么如何直接拿一个期望的字典放键值对,判断结果里面是否包含期望的值set实现set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。set的issubset方法,a.issubset(b) :判断.原创 2021-08-23 00:13:39 · 164 阅读 · 0 评论 -
递归函数代码执行流程
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。# -*- coding: utf-8 -*-def move(n, a, b, c): print("开头",n,a,b,c) if n == 1: print('%s --> %s' % (a, c)) # 直接搬过去 else: """第一个函数递归调用,直到满足条件退出递归调用,才执行下面的代码, 后面的代码执行次数和函数原创 2021-07-09 10:31:35 · 936 阅读 · 0 评论 -
python中%d %2d %02d %-2d% %.2d的区别
python中%d %2d %02d %-2d% %.2d的区别%d就是普通的输出了整形数 %2d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格。%02d,和%2d差不多,只不过左边补0%-2d将数字按宽度为2,采用左对齐方式输出,若数据位数不到2位,则右边补空格%.2d 输出整形时最少输出2位,如不够前面以0占位。如输出2时变成02,200时只输出200;输出浮点型时(%.2f)小数点后强制2位输出,会四舍五入。比如:num = 1print("%d.原创 2021-07-05 16:09:12 · 4573 阅读 · 0 评论 -
脚本开头申明的意思:#!/usr/bin/env python3# -*- coding: utf-8 -*-
由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:#!/usr/bin/env python3# -*- coding: utf-8 -*-第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,原创 2021-07-05 15:18:29 · 705 阅读 · 0 评论 -
python 字符串和decode()解码,encode()编码
计算机系统通用的字符编码工作方式:计算机是有自己的工作区的,这个工作区被称为“内存”。数据在内存当中处理时,使用的格式是Unicode,统一标准。在计算机内存中,计算机使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件。所谓的编码,其实本质就是把str(字符串)类型的数据,利用不同的编码表,转换成bytes(..原创 2021-07-05 12:18:10 · 302 阅读 · 0 评论 -
iproxy工具的作用
1、安装usbmuxdbrew install usbmuxd2、iproxy,该工具会将设备上的端口号映射到电脑上的某一个端口,例如:iproxy 8200 8100以上命令就是把当前连接的手机设备的8100端口映射到电脑的8200端口,那么想和设备8100端口通信,直接和本地的8200端口通信就可以了。因此,SSH连接设备就可以这样连接了:ssh -p 8200 root@127.0.0.1这样就再也不用依赖Wi-Fi了,而且反应很流畅,当然此工具不仅可以用于SSH,也可以映射.原创 2021-06-25 15:39:34 · 3888 阅读 · 1 评论 -
Python 字符串前面加u,r,b,f的含义
1、字符串前加 u例:u"我是含有中文字符组成的字符串。"作用:后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。2、字符串前加 r例:r"\n\n\n\n” # 表示一个普通生字符串 \n\n\n\n,而不表示换行了。作用:去掉反斜杠的转义机制。(特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。 )应用:常用于正则表达式,对应.转载 2021-06-18 15:37:53 · 203 阅读 · 0 评论 -
Linux系统常用命名和如何在Linux系统下运行python代码
echo是打印变量的值或者给定的字符串比如,输入echo hello或者echo "hello"都是在控制台打印出hello单词 但是我们需要把打印出来的字符串记录到文本文件中,就需要>和>>命令 touch a.txt 新建一个文本文件a.txt echo hello > a.txt 则a.txt中会记录下hello,但是如果再次执行echo hello > a.txt。则会覆盖之前的hello, 怎样追加...原创 2021-05-17 15:56:22 · 244 阅读 · 0 评论 -
Python之JSON库中序列化和反序列化常用方法
1、为什么需要序列化与反序列化我们知道,当两个进程进行网络通信时,可以相互发送各种类型的数据,包括文本、图片、音频、视频等, 而这些数据都会以二进制序列的形式在网络上传送。那么当两个进程进行通信时,能否实现进程间的对象传送呢?答案是可以的!如何做到呢?这就需要序列化与反序列化了!换句话说,一方面,发送方需要把这个Python对象转换为字节序列,然后在网络上传送,这就是序列化;另一方面,接收方需要从字节序列中恢复为Python对象,这就是反序列化。当我们明晰了为什么需要序列化和反序列化后,我原创 2021-03-30 16:34:10 · 302 阅读 · 0 评论 -
python列表生成式
python——列表生成式列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。 列表生成式的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是0个或多个for或者if语句。列表表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表,在这个以if和for语句为上下文的表达式运行完成之后产生。格式:variable = [out_exp fo...原创 2021-01-28 17:54:26 · 294 阅读 · 0 评论 -
Python中的random模块用于生成随机数
Python中的random模块用于生成随机数。下面具体介绍random模块的功能:1.random.random()#用于生成一个0到1的随机浮点数:0<= n < 1.01 import random 2 a = random.random()3 print (a) 2.random.uniform(a,b)#用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: b <= n...原创 2021-01-28 17:30:24 · 804 阅读 · 0 评论 -
python 中图片的数组格式到二进制的互相转换
python 图片 数组到二进制的互相转换需要导入以下包,没有的通过pip安装import matplotlib.pyplot as pltimport cv2from PIL import Imagefrom io import BytesIOimport numpy as np1.图片和数组互转# 图片转numpy数组img_path = "images/1.jpg"img_data = cv2.imread(img_path)# numpy数组转图片img_data.原创 2021-01-04 10:48:19 · 962 阅读 · 0 评论 -
python中全局变量、局部变量、类变量、实例变量
定义: a、全局变量:在模块内、在所有函数外面、在class外面,这就是全局变量。 b、局部变量:在函数内、在class的方法内(未加self修饰的),这就是局部变量。 c、 静态变量:在class内的,但不在class的方法内的,这就是静态变量(类变量)。 d、 实例变量:在class的方法内的,用self修饰的变量,这就是实例变量。1.全局变量与局部变量:全局变量是在整个py文件中声明,全局范围内都可以访问...原创 2020-12-29 18:35:38 · 919 阅读 · 0 评论 -
异常处理try ...except...else和raise抛出系统异常
1、try ...except...else结构 '''try ...except...else结构如果try块中没有抛出异常,则执行else块,如果try中抛出异常,则执行except块'''try: a=int(input('请输入被除数:')) b=int(input('请输入除数:')) result=a/b print(result)except BaseException as e: #将错误命名为e ...原创 2020-11-24 11:58:55 · 316 阅读 · 0 评论 -
Python类变量和实例变量(类属性和实例属性)
Python类变量和实例变量(类属性和实例属性)目录类变量(类属性) 实例变量(实例属性) 局部变量转载:http://c.biancheng.net/view/2283.html无论是类属性还是类方法,都无法向普通变量或者函数那样,在类的外部直接使用它们。我们可以将类看做一个独立的空间,则类属性其实就是在类体中定义的变量,类方法是在类体中定义的函数。前面章节提到过,在类体中,根据变量定义的位置不同,以及定义的方式不同,类属性又可细分为以下 3 种类型:类体中、所有函数之..转载 2020-09-19 16:36:58 · 196 阅读 · 0 评论 -
Python中requests库的使用
1、get请求传参url_params = {'key':'value'} # 字典传递参数,如果值为None的键不会被添加到url中# get请求,字典可以直接赋值给params传参r = requests.get('your url',params = url_params)print(r.url)#生成的url格式your url?key=value2、post请求1、如果请求的格式是'content-type': 'application/json',此时参原创 2020-10-09 16:03:37 · 532 阅读 · 1 评论 -
Python 日期和时间
什么是时间元组?很多Python函数用一个元组装起来的9组数字处理时间:序号 字段 值 0 4位数年 2008 1 月 1 到 12 2 日 1到31 3 小时 0到23 4 分钟 0到59 5 秒 0到61 (60或61 是闰秒) 6 一周的第几日 0到6 (0是周一) 7 一年的第几日 1到366 (儒略历) 8 夏令时 -1, 0, 1,原创 2020-10-08 22:26:44 · 336 阅读 · 0 评论 -
Python多线程执行测试用例
在一个任务未完成时,就可以执行其他多个任务,彼此不受影响(在看第一部下载好的电影时,其他电影继续保持下载状态,彼此之间不受影响),叫异步同步就是一个任务结束才能启动下一个(类比你看完一部电影,才能去看下一部电影)异步执行任务会比同步更加节省时间,因为它能减少不必要的等待。如果你需要对时间做优化,异步是一个很值得考虑的方案。多协程异步:一个任务在执行过程中,如果遇到等待,就先去执行其他的任务,当等待结束,再回来继续之前的那个任务。在计算机的世界,这种任务来回切换得非常快速,看上去就像多个任务在被同时原创 2020-10-07 20:19:48 · 1245 阅读 · 0 评论 -
python中使用正则表达式提取数据
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。re 模块使 Python 语言拥有全部的正则表达式功能。compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。模式 描述 ^ 匹配字符串的开头 $ 匹配字符串的末尾。 . 匹配任意字符,除了换行符,当re.DO原创 2020-10-06 21:13:01 · 33832 阅读 · 0 评论 -
Python中 split()方法和splitlines()方法分隔字符串的区别
Python split()1、Python split()方法通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串。无指定值,默认为 -1, 即分隔所有符合要求的。split() 方法语法:str.split(str="", num=string.count(str))参数str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 num -- 分割次数。默认为 -1, 即分隔所有符合要求的。str = "L.原创 2020-10-06 15:41:01 · 8838 阅读 · 0 评论 -
xlrd和xlwt是python操作excel的两个库,xlrd用于读取,xlwt用于写入
xlrd和xlwt是python操作excel的两个库,xlrd用于读取,xlwt用于写入。xlwt无法直接操作xlrd读取的excel数据,需要使用xlutils3将xlrd读取的excel拷贝成xlwt可操作对象。原创 2020-10-05 20:04:13 · 431 阅读 · 0 评论 -
解决用try except 捕获assert函数产生的AssertionError异常时,导致断言失败的用例在测试报告中通过的问题
在使用Python3做自动化测试过程中可能会遇到,assert函数不加try except,就可以正常在报告里体现用例不通过,加上变成通过。这是因为在使用try except 时,捕获了assert函数产生的AssertionError异常,导致异常没有上抛,这时只需要在后面加上 raise就可以再次把它抛出。 try:# 找到输入框并输入测试数据 self.driver.find_element_by_id("kw").send_keys(testdata)...原创 2020-10-05 19:08:38 · 5290 阅读 · 2 评论 -
Python None 与 ‘‘(空字符串)虽然都代表False,但数据类型不同,None !=“ “
Python 中None 与 ''(空字符串)虽然都代表False,但数据类型不同,None !=" "一、是不同的一种数据类型type(None)类型为 <class 'NoneType'>type('')为<class ''str'>Python中None表示该值是一个空对象,空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。a = Noneif a != '': print(原创 2020-10-05 17:48:58 · 1707 阅读 · 0 评论 -
Python中连接mysql数据库,并操作数据库
安装PyMySQL库pip3 install PyMySQLpymysql.cursorsde参数的可选值如下:类型 描述 Cursor 普通的游标对象,默认创建的游标对象 SSCursor 不缓存游标,主要用于当操作需要返回大量数据的时候 DictCursor 以字典的形式返回操作结果 SSDictCursor 不缓存游标,将结果以字典的形式进行返回 在默认情况下cursor方法返回的是BaseCursor类型对象,BaseCursor类型对原创 2020-10-03 18:21:22 · 17003 阅读 · 5 评论 -
python中for循环嵌套的执行顺序理解
for r in [1,2,3]: for c in [1,2]: #n= r*c print(str(r)+'x'+str(c)+'='+str(r*c), end=' ') print('第'+str(r)+'次循环') """ 循环嵌套 1.外层判断循环条件,满足进入外层循环体 2.内层判断循环条件,满足进入内层循环 3.内层循环体执行 4.内层循环如果满足条件,就一直执行,直到不满足内层条件,退出执.原创 2020-10-02 22:46:50 · 11122 阅读 · 0 评论 -
multiprocessing进程模块
multiprocessing模块提供了一个Process类来代表一个进程对象,multiprocessing模块像线程一样管理进程,这个是multiprocessing的核心,它与threading很相似,对多核CPU的利用率会比threading好的多。看一下Process类的构造方法:__init__(self, group=None, target=None, name=None, args=(), kwargs={})参数说明:group:进程所属组(基本不用)target...原创 2020-09-28 00:30:04 · 665 阅读 · 0 评论