| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 利用re实现修改测试用例格式——python实现 -> 正文阅读 |
|
[开发测试]利用re实现修改测试用例格式——python实现 |
利用re实现修改测试用例格式——python实现前言
问题简述我们还是那道蜡烛盘子问题为例。 先看下它的一个测试用例(leetcode原生)
然后我在oj上对这道题的输入和输出要求是这样的 我们当然可以自己修改输入或者输出的要求,但是录题是为了帮助其他同学练习,难道要为难他们要去专门输入像leetcode格式那样的字符串带双引号,数组带方括号? 显然,作为录题人,我觉得应该自己处理这些用例的格式,正好之前包括最近都在做一个使用python的re模块的项目,所以我便想到了,是不是可以编写一个程序实现对测试样例的内容的修改。 当然很多人可能会想这其实可以手动修改格式,去除一些符号,然后换行罢了,没必要专门写一个程序吧?那么,还记得这道题,使用暴力模拟为什么过不了,因为超时,为什么会超时,因为leetcode给了一个非常大的测试用例,可以通过下面的图片感受一下它的庞大与恐怖 这只是字符串的部分,数组的更多,看到这个测试用例的时候,我是崩溃的,我只能说leetcode算你狠,难怪模拟过不了。所以,面对这种数量非常庞大的数据,我们手动操作的话可能会直接寄。作为一个热爱编程的程序员,我们的任务就应该是将化繁为简,所以我就写了一个程序demo来实现。 方法介绍re模块我在代码中主要使用了re模块,这是正则表达式模块,很多语言都有该模块的库,而在python中该模块的库就叫re。 正则表达式是一种用于识别字符串的方法,通过正则表达式,我们可以更加高效地识别检测字符串的内容。 而关于python re库的更多内容,大家可以直接搜索了解,有机会的话我也会整理一下它的知识点。 我们在这个demo中主要使用了下列的三个函数 complie(str):将str字符串编译成正则表达式对象 match(表达式,str):对str字符串进行正则表达式匹配,匹配到第一个内容为止,如果匹配不到,则会返回None 对象.sub(str1,str2): 利用正则表达式对象对str2进行检测,将检测到的部分替换为str1,默认检测到str2的所有。 os模块和文件操作除了使用到re模块,我们在该程序中还使用了python的文件操作和OS模块,这里不细写了,只写一个用到的函数。 os.listdir(path):将path下的文件以列表的形式返回 需要的材料我们可以使用记事本将leetcode上的用例复制粘贴然后保存到相应的路径下,比如下面这样。 code(python)
这里的path,朋友们如果需要,需要根据自己的实际情况进行修改。 后话
|
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 0:37:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |