python
文章平均质量分 86
黎扶澈
探寻的终点是避免成为偏见的附庸
展开
-
Selenium启动常用浏览器
文本主要讲述使用Selenium启动常用的Chrome、firefox、IE、Edge浏览器,以及如何下载配置webdriver原创 2022-11-03 15:06:31 · 4548 阅读 · 1 评论 -
python单元测试框架—pytest
pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它具有如下特点:(1)非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考(2)能够支持简单的单元测试和复杂的功能测试(3)支持参数化(4)执行测试过程中可以将某些测试跳过,或者对某些预期失败的case标记成失败(5)支持重复执行失败的case。原创 2022-08-12 00:05:11 · 3585 阅读 · 0 评论 -
python单元测试框架—unittest
一个class继承了unittest.TestCase,便是一个测试用例,但如果其中有多个以 test 开头的方法,那么每有一个这样的方法,在load的时候便会生成一个TestCase实例,如:一个class中有四个test_xxx方法,最后在load到suite中时也有四个测试用例。...原创 2022-08-11 20:17:45 · 693 阅读 · 0 评论 -
第十九章 自动化理论
自动化测试理论、selenium使用、XPath原创 2022-08-04 10:43:34 · 494 阅读 · 0 评论 -
第十八章 python爬虫
requests、urllib、bs4模块讲解原创 2022-08-02 17:31:59 · 502 阅读 · 0 评论 -
第十七章 Excel操作
openpyxl模块对excel的一些常见操作原创 2022-08-01 22:07:18 · 660 阅读 · 0 评论 -
第十六章 协程
协程(Coroutine)是线程的更小切分,又称为“微线程”,是一种用户态的轻量级线程。线程是系统级别的它们由操作系统调度;协程则是程序级别的由程序员根据需要自己调度。在一个线程中会有很多函数,我们把这些函数称为子程序,在子程序执行过程中可以中断去执行别的子程序,而别的子程序也可以中断回来继续执行之前的子程序,这个过程就称为协程。也就是说在同一线程内一段代码在执行过程中会中断然后跳转执行别的代码,接着在之前中断的地方继续开始执行,类似与yield操作。协程拥有自己的寄存器上下文和栈。...原创 2022-08-01 11:40:13 · 507 阅读 · 0 评论 -
第十五章 多线程
线程是一个进程的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程。线程是由表示程序运行状态的寄存器(如程序计数器、栈指针)以及堆栈组成,它是比进程更小的单位。线程是程序中的一个执行流。一个执行流是由CPU运行程序代码并操作程序的数据所形成的。因此,线程被认为是以CPU为主体的行为。线程不包含进程地址空间中的代码和数据,线程是计算过程在某一时刻的状态。所以,系统在产生一个线程或各个线程之间切换时,负担要比进程小得多。多线程是指一个程序中包含多个执行流,多线程是实现并发的一种有效手段。......原创 2022-08-01 08:40:38 · 295 阅读 · 0 评论 -
第十四章 多进程
多进程、multiprocessing、subprocess原创 2022-07-15 10:17:39 · 468 阅读 · 0 评论 -
第十三章 数据库
目录一、数据库1.1 基础操作1.1.1 连接数据库1.1.2 指定端口1.1.3 mysql授权语句1.1.4 创建数据库1.1.5 查看数据库1.1.6 选择数据库&查看你当前使用的数据库1.1.7 删除数据库 DROP DATABASE;1.1.8 创建表1.1.9 插入表数据&查询表数据1.1.10 删除表数据1.1.11 更新表数据1.1.12 删除所有表数据1.1.13 删除表数据及表结构1.1.14 delete、truncate、drop的区别1.1.15 查看是否设置自动提交1.1.16原创 2022-06-28 14:49:07 · 311 阅读 · 0 评论 -
第十二章 xml和json
目录一、json1.1 json简介1.2 json语法和语法规则1.3 json名称/值对1.4 json对象1.5 json数组1.6 json编码1.6.1 json.dumps()1.6.2 json.loads() 二、xml2.1 xml简介2.2 xml元素2.3 xml语法规则2.4 xml命名规则2.5 CDATA2.6 Python解析xml的三种方法2.7 xml.dom解析xml2.7.1 minidom.parse(parse=None,bufsie=None)2.7.2 doc.原创 2022-06-24 23:33:53 · 309 阅读 · 0 评论 -
第十一章 正则表达式 课后练习题
目录1、匹配一行文字中的所有开头的字母内容2、匹配一行文字中的所有开头的数字内容3、匹配一行文字中的所有开头的数字内容或字母内容4、 只匹配包含字母和数字的行5、写一个正则表达式,使其能同时识别下面所有的字符串:'bat', 'bit', 'but', 'hat', 'hit', 'hut‘6、匹配所有合法的python标识符7、提取每行中完整的年月日和时间字段8、将每行中的电子邮件地址替换为你自己的电子邮件地址9、匹配\home关键字10、使用正则提取出字符串中的单词12、提取字符串中合法的超链接地址13原创 2022-06-25 22:50:26 · 1015 阅读 · 0 评论 -
第十一章 正则表达式
目录一、正则表达式1.1 正则表达式的工作流程1.2 正则表达式模式1.3 特殊表达式含义1.3.1 .(点)1.3.2 \(反斜杠)1.3.3 [...]方括号1.3.4 [^...]取反1.3.5 \d匹配数字1.3.6 \D匹配非数字1.3.7 \s匹配任一空白字符1.3.8 \S匹配任一非空白字符1.3.9 \w匹配一个字母或数字或下划线1.3.10 \W匹配非字母或数字或下划线1.3.11 *(星号)匹配一个字符0次或1次或多次1.3.12 +(加号)匹配一个字符1次或多次1.3.13 ?(问号)原创 2022-06-16 18:25:24 · 725 阅读 · 0 评论 -
第十章 设计模式/垃圾回收/装饰器/闭包
目录一、设计模式1.1 单例模式1.2 工厂模式1.3 抽象工厂模式1.4 建造者1.5 原型二、垃圾回收三、装饰器3.1 变量作用域3.2 变量解析规则3.3 变量生存空间3.4 嵌套函数3.5 函数作为变量3.6 闭包3.7 装饰器的分类3.8 装饰器学习九步法3.8.1 第一步——最简单的函数,准备附加额外功能3.8.2 第二步——使用装饰函数在函数执行前和执行后分别附加额外功能3.8.3 第三步3.8.4 第四步——使用内嵌包装函数来确保每次新函数都被调用3.8.5 第五步——对带参数的函数进行装饰原创 2022-06-08 22:27:10 · 208 阅读 · 0 评论 -
第十章 面向对象 课后练习题
目录1、类和对象的概念和关系是什么? 2、什么样的代码才是面向对象? 3、类的构造方法与成员方法之间有什么区别? 4、self关键词的作用是什么?5、说出类方法和静态方法的区别?分别实现一个类方法和静态方法实例6、什么是数据封装与隐藏? 7、什么是方法重写,方法重写的规则是什么? 8、编写程序片段,定义表示课程的类Course。课程的属性包括课程名、编号、选修课号;方法包括设置课程名、设置编号、设置选修课号以及获取课程名、获取编号、获取选修课程号,然后打印输出该对象的课程名、编号以 及选修课号。9、实现一个原创 2022-06-04 22:58:12 · 965 阅读 · 0 评论 -
统计自己写了多少行代码
"""统计自己一共写了多少行代码1、两个路径:1 F:\LiFuChe\光荣之路\课堂编码练习2 F:\课后练习题2、注释行的处理"""#encoding=utf-8import ospath_1 = r"F:\LiFuChe\光荣之路\课堂编码练习"path_2 = r"F:\课后练习题"def count_rows(path): code_lines=0 i=1 for root,dirs,files in os.walk(path,topdown=False):...原创 2022-05-11 09:29:22 · 721 阅读 · 0 评论 -
第十章 面向对象
目录一、面向对象编程1.1 概念1.2 函数式编程和面向对象编程的选择1.3 创建类 1.4 创建实例对象1.5 访问类的实例方法或属性1.6 类和对象在内存中是如何保存1.7 封装和调用1.7.1 封装1.7.2 调用1.8 类成员1.8.1 字段1.8.2 方法1.8.3 属性1.9 继承1.9.1 继承的特点1.9.2 单继承1.9.3 多继承1.9.4 子类调用基类方法1.9.5 调用父类的__init__方法1.9.6 类间关系判断1.10 property()方法1.11 多态1.11.1 方.原创 2022-05-12 21:53:31 · 598 阅读 · 0 评论 -
第九章 时间 课后练习题
目录1、计算程序执行耗时2、将时间字符串转换为时间戳3、将格式时间字符串转换成时间元组,然后再转换成自定义的时间格式字符串4、将当前时间戳转换为指定格式日期5、创建名称为当前时间(年月日)的目录,在这个目录下创建名称为当前时间(年月日)的txt文件,并且输入内容为 “你好”6、获得三天(三小时和三分钟)前的时间方法7、计算昨天和明天的日期8、使用datetime模块来获取当前的日期和时间9、创建名称为log的目录,目录下创建三个文件夹,名分别为去年今天的日期、当前日期(年原创 2022-05-08 10:59:36 · 423 阅读 · 0 评论 -
第九章 时间
python时间处理模块:time、datatime和calender原创 2022-05-06 08:59:18 · 521 阅读 · 0 评论 -
第八章 集合 课后练习题
目录1、能够熟练进行字符串、列表、元组和set之间的转换。2、结合set对象,统计某个list出现的重复元素个数3、定义一个不可变集合,向不可变集合中添加元素或者修改已有元素,并捕获异常4、列出你所有知道的排重方法原创 2022-05-05 09:01:01 · 92 阅读 · 0 评论 -
第七章 异常、模块和包 课后练习题
目录1. 实现自己的数学模块mymath,提供有4个函数,分别为加减乘除,在B模块中调用A模块的函数。2. 实现自己的字符串模块mystr,里面有方法:isdigit,strip, join,split3. 构建一个模块的层级包4. 实现一个除法函数,并处理异常5. 引发一个异常,并将它抛除到上层函数,上层函数捕获该异常并处理6. 实现字符串、列表、元组和set之间互相转换7. 结合set对象,统计某个list出现的重复元素个数8. 定义一个元组,向元组中添加元素或者修改已.原创 2022-05-07 12:41:50 · 210 阅读 · 0 评论 -
第八章 集合
目录一、集合1.1 定义1.2 集合操作1.2.1 创建空集合1.2.2 添加集合元素add():将要添加的元素作为一个整体添加1.2.3添加集合元素update():将要添加的元素拆分成单个添加1.2.4 删除集合元素remove()1.2.5 修改集合元素:转成list修改后再转成set1.2.6 遍历集合1.2.7 discard():查找元素并删除1.2.8 pop():删除并返回集合中的第一个元素1.2.9 clear():清空集合中的所有元素.原创 2022-05-04 23:05:05 · 488 阅读 · 0 评论 -
第七章 异常和模块、包
目录一、异常1.1 概念1.2 定义1.3 异常的工作原理1.4 异常的嵌套1.5 except后的参数1.5.1 except后面不带任何参数1.5.2 except后面带多种异常类型1.6 异常参数1.7try-finally/else语句1.8 raise触发异常1.9 自定义异常1.10 异常抛出机制1.11 标准异常1.12 with上下文管理1.12.1 语法及工作原理1.12.2 自定义with异常1.13 断言二、.原创 2022-05-02 23:28:56 · 416 阅读 · 0 评论 -
第六章 文件和目录操作
目录一、文件操作1.1 打开文件1.1.1 open()函数1.1.2 with方式打开文件:会默认关闭文件1.1.3 chardet检测文件编码1.1.4 文件操作模式1.1.5 文件对象1.2 文件操作常用方法1.2.1 read()1.2.2 readlines()1.2.3 readline()1.2.4 write()1.2.5 writelines()1.2.6 close()关闭文件1.2.7 flush()刷新文件的内部缓冲区,并写原创 2022-04-27 11:11:57 · 775 阅读 · 0 评论 -
第五章 字符串 课后练习题
目录1. 将一个正整数分解质因数2. 一个字符串中,分别输出奇数坐标字符或偶数坐标字符,奇数坐标的一行,偶数坐标的一行3. 统计字符串中的字母、数字、其他字符个数4. 有一个已经排好序的列表。现输入一个数,要求按原来的规律将它插入列表中5. 统计名字列表中,各名字的首字母在名字列表中出现的次数6. 字符替换7. 找出字符串中出现次数最多的字符,并输出其出现的位置8. 找出一段句子中最长的单词及其索引位置,以字典返回9. 字母游戏10. 实现字符串的upper、low.原创 2022-04-24 23:12:57 · 451 阅读 · 0 评论 -
第五章 字符串
目录一、字符串简介1.1 字符串类型1.1.1 原始字符串1.1.2 字节字符串1.1.3 转义字符1.2 字符串运算1.3 字符串格式化1.3.1 %格式化输出1.3.2 模板格式化1.3.3 format格式二、常用的字符串函数2.1 strip()/lstrip()/rstrip()去掉空白字符2.2 lower()/upper()/swapcase()字符串大小写转换2.3 capitalize()/capwords()/title()字符..原创 2022-04-14 18:40:58 · 970 阅读 · 0 评论 -
第六章 文件和目录操作 课后练习题
目录一、文件操作练习题1.同时读写文件2.创建一个空文件3.读取文件的前两行4.读取文件的奇数行5.在文件中写入一个列表的内容6.在文件中的0、2、4位置写入当前的文件位置偏移量7.with写法读取文件内容8.统计一个文件中单词个数9.将一个文件的所有单词倒序写入文件中二、课后综合练习题1. 基础题:2. 返回一个路径的目录名和文件名3. 分离文件名与扩展名4. 找出某个目录下所有的文件,并在每个文件中写入“gloryroad”5. 如果某个目原创 2022-05-02 23:03:58 · 637 阅读 · 0 评论 -
第四章 列表、元组和字典 课后练习题
目录一、列表练习题:1.操作一个list做增删改查操作(写一个图书管理系统)2.完成引用复制和非引用复制的一个例子3.找到两个列表中不同的元素和相同元素4.数字和字母混合的list中,奇数位元素加1,偶数位加25.递归处理嵌套的list6: 遍历list,但是list中元素的数据类型不定,有可能有嵌套的list,嵌套的tuple,dict等。(没有多重嵌套)8.1个纯数字的list中,分别输出奇数坐标数字或偶数坐标数字9.找到序列中最大的元素,自己写算法实现,不能用现有函原创 2022-04-10 18:41:45 · 1100 阅读 · 0 评论 -
第四章 列表、元组、字典
目录一、序列二、列表2.1 创建列表2.2 访问列表2.3 更新列表2.4 删除列表2.5 列表运算符2.6 列表函数&方法2.7列表操作函数2.8 sort函数和sorted函数2.8.1 sort()2.8.2sorted2.9 列表复制2.9.1 引用复制2.9.2 非引用复制2.10 推导列表2.11 深浅拷贝2.11.1 浅拷贝2.11.2 深拷贝2.12通过 list 实现堆栈2.13通过 list...原创 2022-04-10 18:32:43 · 464 阅读 · 0 评论 -
第三章 函数 课后练习题
1. 打印2000-3000之间被7整除但不被5整除的数,以,(逗号)分隔2. 输出9*9口诀表3. 计算1 - 1/2 + 1/3 - 1/4 + … + 1/99 - 1/100 + …直到最后一项的绝对值小于10的-5次幂为止4. 编程将类似“China”这样的明文译成密文5. 输出以下如下规律的矩阵6. 对一个列表求和,如列表是[4, 3, 6],11.画等(腰)边三角形(实心、空心)12.画倒等边三角形13.画直角三角形(实心、空心)14.用*号输出字母C的图案原创 2022-04-01 17:05:10 · 298 阅读 · 0 评论 -
第三章 函数
一、函数简介1.1 定义及语法1.2 无参函数1.3 有参函数1.3.1 必备参数1.3.2 命名参数1.3.3 缺省参数(位置参数)1.3.4不定长参数1.3.5 函数返回值1.3.6函数返回多个值1.3.7文档字符串二、常用函数2.1 input函数2.2 lambda函数2.3 repr函数2.4 type函数2.5 map函数2.6 filter函数2.7 reduce函数2.8 递归2.9 exec函数2.10 eval函数2.11 range函数原创 2022-03-24 19:01:43 · 1161 阅读 · 0 评论 -
第二章 控制流 课后练习题
目录1. 使用尽可能多的方法实现list去重2. 成绩等级判断3. 实现数学中多项式求和公式的打印4. 统计名字列表中,各名字的首字母在名字列表中出现的次数5. 输入三个数,判断是否能构成三角形。能构成三角形三边关系:6. 实现字典的fromkeys方法7. 键盘读入一字符串,逆序输出8. 读入一个整数n,输出n的阶乘9. 打印1/2, 1/3, 1/4,….1/1010. 写一个函数实现一个数学公式11. 输入数字a,n,如a,4,则打印a+aa+aaa+aaa原创 2022-03-24 19:01:52 · 585 阅读 · 0 评论 -
第二章 控制流
目录一、条件判断1.1 if二、循环和中断2.1循环2.1.1 while2.1.2 for2.1.3 嵌套循环2.1.4 Pass2.1.5 是否可迭代2.2中断循环2.2.1 break2.2.2 continue2.2.3 直接退出多重循环三、课堂练习3.1 用input接收一个密码,判断这个密码长度:如果小于5位(包含5位),就是不合格密码;如果在5位到8位之间就是低强度密码;如果在8位以上(包含8位)就是高强度密码3.2一个煎饼,..原创 2022-03-23 17:07:36 · 691 阅读 · 0 评论 -
第一章 python初窥 课后练习题
1. 输入1-127的ascii码并输出对应字符17.sort函数18.实现一个简单的单词本19.输入一个正整数,输出其阶乘结果21.输入3个数字,以逗号隔开,输出其中最大的数22.输入一个年份,输出是否为闰年23.求两个正整数m和n的最大公约数原创 2022-03-22 20:33:51 · 1609 阅读 · 0 评论 -
第一章 Python初探
python基础语法:python编码问题、变量常量、数据类型、计算机原码反码补码、进制转换、运算符和表达式...原创 2022-03-22 10:34:41 · 2506 阅读 · 0 评论 -
os文件/目录方法(持续更新...)
1、os.getcwd() 方法用于返回当前工作目录。>>> os.getcwd() 'C:\\Users\\asus'2、os.chdir()方法用于改变当前工作目录到指定的路径。>>> os.chdir(r'E:\Test-DPos\1322') >>> os.getcwd() 'E:\\Test-DPos\\1322'...原创 2020-02-17 18:55:34 · 454 阅读 · 0 评论 -
排查os.getcwd方法返回结果不是当前实际工作目录
笔者作为一个python从入门到放弃的菜鸟,遇到过各种奇奇怪怪的问题,今天说下在pycharm某级目录下执行时,解决os.getcmd()返回的工作路径与py文件实际所在的工作目录不一致,具体情况如下图所示:test.py的实际工作目录为demo\a\c,而print(os.getcomd())的结果是demo\a\b排查后发现:是因为Run/Debug Configurations...原创 2020-02-17 18:10:40 · 1881 阅读 · 0 评论 -
判断输入的字符串是否为数字
先附上比较简单的判断方法:def func(num): try: float(num) return True except ValueError: return Falsewhile 1: print(func(input("请输入数字:")))闲来无事,绕了半天,写了个最不容易懂的判断方法。# 判断一...原创 2018-08-24 15:34:32 · 5213 阅读 · 0 评论 -
random函数汇总
1. random.randomrandom.random()用于生成一个0到1之间的随机浮点数:0<=n<=1>>> random.random()0.70865880337962962. random.uniformrandom.uniform(a,b)用于生成一个指定范围内的随机浮点数,若a<b,则a<=n<=b;若a>...原创 2018-09-21 22:31:48 · 9729 阅读 · 4 评论 -
python file tell()函数在windows与mac上的差异
一、file tell( )方法tell( )方法返回文件的游标位置,即文件指针当前位置。二、遇到的问题在使用中发现:同样的.txt文件内容和.py文件,在Mac上和windows上运行的结果不同,即tell( )返回的结果不一致。测试文件内容如下: good evening!ryroad212测试代码如下:with open("file.txt", "r", ...原创 2018-08-16 19:13:12 · 659 阅读 · 0 评论