python
文章平均质量分 56
python
垃圾桶随意收
这个作者很懒,什么都没留下…
展开
-
python——列表相关(倒序遍历list+删除列表中指定值)
1、倒序遍历listfor i in reversed(A): print(i)A[::-1]2、删除列表中指定值# 异常处理方式A = [1,4,2,'',5,'',6]try: for i in range(len(A)): if A[i] == '': A.pop(i)except IndexError: # 删除对象后,列表长度会减小,但索引值一开始就固定区间为[0,len(A)],所以会导致抛出越界异常 pass# 异原创 2021-02-28 18:42:30 · 1374 阅读 · 1 评论 -
os.walk()解析
os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])1、top – 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。(1)root 所指的是当前正在遍历的这个文件夹的本身的地址(2)dirs 是一个 list ,指该文件夹中所有的目录的名字,不包括子目录。(3)files 同样是 list , 指该文件夹中原创 2021-03-06 21:30:48 · 426 阅读 · 1 评论 -
利用cmd执行adb(os.popen、os.system)
自动化测试时难免需要执行adb语句对手机进行操作,这时需要使用os.system(str)或os.popen(str),接下来看下这两个的区别:os.system():d = os.system("adb devices")print(d)输出为:可以得知,os.system()执行完成后不会返回具体的内容供后续调用,只返回了一个值:0或1,0代表正确进行,-1代表命令执行错误。o...原创 2020-03-12 23:22:45 · 1942 阅读 · 0 评论 -
openpyxl浅归纳
命令集锦fb = openpyxl.load_workbook('反馈表.xlsx') # 打开已有的表fb.sheetnames # 以列表的形式输出所有列名fb.worksheets # 以列表形式输出全部worksheet对象fs = fb['sheet_name'] # 获取指定表名的表对象,即worksheet对象fb.index(fs) # 获取指定sheet的索引值,需传入一个worksheet对象fb.active # 获取当前活跃工作表fb.active = fb['shee原创 2020-11-15 21:52:27 · 294 阅读 · 0 评论 -
生成dict的几种方式备忘
dict(key= value, key= value) # 注意key只能为变量{'key':value, 'key2':value2} # ‘key’为常量#先定义空{},再使用:a = {} a['key] = valuedict(zip('abc', [1, 2, 3]))#{'a': 1, 'c': 3, 'b': 2}原创 2020-11-14 15:34:54 · 204 阅读 · 0 评论 -
python——文件操作相关(备忘)
shutil.copy(src,dst):复制文件到指定pathos.path.basename():去掉路径,只返回文件名os.path.dirname():去掉文件名,只返回目录的路径os.path.splitext():分离文件名和扩展名,返回的是一个元祖。os.path.split():分离路径和文件名,返回一个元祖os.rename(old,new):修改文件名shutil.retree(path):清空文件夹...原创 2020-07-18 15:06:18 · 62 阅读 · 0 评论 -
python——request
以get访问url:requests.get(url, params=None, **kwargs)url为要访问的网址params为url所需传入的参数,支持以字典形式传入以post方式访问:post(url, data=None, json=None, **kwargs)data可以dict形式传入参数,作为post请求的数据;如果要直接传入json参数,可以直接使用json参数若要上传文件,可使用files参数,比如:file = {'file': open('test.xls'原创 2020-07-04 19:54:59 · 107 阅读 · 0 评论 -
python语句0603使用集锦——adb多行使用&读取文件去掉换行符&正则
1.执行多个adb命令os.system("cmd1 && cmd2 && cmd3")2.python读取文件,并将每行内容以列表方式输出。去掉换行符的方法是调用strip(’\n’)方法一:获取文件内全部内容,先去掉末尾的换行符,以中间的换行符为切割点,将每行内容都存储于列表中。 with open(txt_path,mode='r',encoding='utf-8') as f: content = f.read().s原创 2020-06-03 23:33:34 · 452 阅读 · 0 评论 -
python编程——跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。代码:class Jump(): def jumptaijie(self,n): if n == 0: return 0 elif n == 1: return 1 elif n == 2: return 2 else:原创 2020-05-13 21:53:41 · 782 阅读 · 0 评论 -
python——urllib
urllibURL处理模块,提供了一系列操作URL的功能。urllib.request: 打开和读取 URL,最基本的请求处理模块,urllib.error :包含 urllib.request 抛出的异常,异常处理模块,如果请求出现异常,可以对其进行捕获,保证其它请求的正常进行。urllib.parse :用于解析 URL,提供了许多 URL 处理方法,比如拆分、解析、合并等等的方法。...原创 2020-04-24 23:25:43 · 98 阅读 · 0 评论 -
python——itertools的使用
itertools无限序列只有在for迭代时才会无限地迭代下去,如果只是创建了一个迭代对象,它不会事先把无限个元素生成出来,也不可能在内存中创建无限多个元素。itertools.count(1):可以创建无限的迭代器,无法自动停止,只能人为手动停止。itertools.cycle(‘ABC’):会把传入的序列无限重复下去,比如这个就会重复输出ABC。itertools.repeat(‘A’...原创 2020-04-21 22:57:35 · 227 阅读 · 0 评论 -
python——hashlib
hashlib1.MD5MD5是最常见的摘要算法,速度很快,生成结果是固定的128 bit字节,通常用一个32位的16进制字符串表示。def get_md5(word): md5 = hashlib.md5() md5.update(word.encode('utf-8')) print(md5.hexdigest())2.SHA1SHA1的结果是160 bit...原创 2020-04-19 22:55:31 · 86 阅读 · 0 评论 -
YAML
YAML可用来编写配置文件的语言。查看工具:http://nodeca.github.io/js-yaml/1.yaml文件规则区分大小写;使用缩进表示层级关系;使用空格键缩进,而非Tab键缩进缩进的空格数目不固定,只需要相同层级的元素左侧对齐;文件中的字符串不需要使用引号标注,但若字符串包含有特殊字符则需用引号标注;注释标识为#在python中使用:需先安装pyyaml模块p...原创 2020-04-12 22:34:06 · 336 阅读 · 0 评论 -
python-collections
namedtuple用以创建自定义的tuple对象,元素个数需要指定,可直接用属性引用 值而不用索引。代码示例:def namedtuple_demo(): #创建自定义tuple对象 Point = namedtuple('Point2',('x','y')) p = Point(1,2) print(p.x) print(p.y)deque因...原创 2020-04-12 15:03:23 · 59 阅读 · 0 评论 -
python-正则表达式
正则表达式一、正则基础^ :匹配字符串的开头$ :匹配字符串的末尾。. :匹配任意字符,除了换行。[] : 用来表示一组字符,表示范围,单独列出:[amk] 匹配 ‘a’,‘m’或’k’[^...] :不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符。* :匹配0个或多个的表达式。+: 匹配1个或多个的表达式。? :匹配0个或1个由前面的正则表达式定义的片段,非贪婪方...原创 2020-04-06 15:28:07 · 149 阅读 · 0 评论 -
python——进程与线程
一、线程与进程的基础概念:1.进程是CPU资源分配的最小单位,线程是CPU调度的最小单位。即CPU资源分配时是以进程为单位进行分配,线程在执行时会使用CPU资源。2.进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统上进行资源分配和调度的一个独立单位。3.线程是进程的一个实体,是CPU调度和分派的基本单位,一个进程可以拥有多个线程。同个进程内的多个线程共享全部资源,同一个...原创 2020-04-05 14:15:02 · 131 阅读 · 0 评论 -
python——避免logging重复输出日志问题
调试时发现,每个调用日志类的地方会呈一个趋势,第一个日志写一次,第二个日志写两次,第三个日志写三次…后面也会依次增长。问题产生原因:调用日志类时,由于getlogger(name)每次的name都是一样的,所以每次都指向原先的logger对象,但每次调用都会添加一个handler,一次调用添加1个,两次调用添加2个…,因此日志的输出也呈这个趋势增长。最简单使用的解决方法是,在添加handler...原创 2020-03-16 22:13:36 · 663 阅读 · 0 评论 -
python——列表生成式和generator生成器
**列表生成式**:创建list的内置函数例:[x * x for x in range(10)]用[]括起的表达式,形成的一系列数值,都会存储在这个列表中。for语句块前半部分需是完整的表达式,必须根据x计算一个结果,因此这里使用if…else语句需特别注意。(1)如果if在for前面时,需带上else语句,比如:x * x if x % 2 == 0 else -x for x in...原创 2020-03-04 23:03:55 · 132 阅读 · 0 评论 -
python—operator的itemgetter
itemgetter()用于定义获取对象第几维的数据的一个函数,并非是直接取值,需作用到具体的对象(列表、元祖、字典等)才会进行取值。list1 = {"name":"hanqingqing","id":7,"sex":"女","height":160}dd = (5,4,3,2)list2 = [(1,3,5),(2,4,8),(3,6,9)]a = itemgetter(1) #定...原创 2020-03-02 23:09:03 · 150 阅读 · 0 评论 -
python——pytest基础
一、pytest简介pytest是第三方提供的单元测试框架,提供了更多的扩展,方便使用。下载:pip install pytest与unittest区别:unittest在定义测试用例时需在测试类中进行定义,而pytest可以直接定义测试用例函数,但为了代码规范,建议还是在特定测试类内集中定义测试用例。二、文件命名规则测试文件和测试函数必须以“test”开头,测试类必须以“Test”开头...原创 2020-02-09 15:52:43 · 270 阅读 · 0 评论 -
python学习——类与实例
python是一门面向对象(OOP)编程语言,同样用类class实现封装、继承、多态,实例就是具体的对象,每个实例数据类型相同,但拥有的数据不同。方法就是与实例绑定的函数,和普通函数不同,方法可以直接访问实例的数据;1.类的方法在定义时第一个参数必须为self,而普通函数定义时则不需要。实例调用方法时不需要传入相应参数。2.下划线相关(1)_ _foo__: 定义的是特殊方法,一般是系统定义...原创 2020-02-09 15:53:09 · 94 阅读 · 0 评论