搜索python题目的软件_Python编程快速上手——正则表达式查找功能案例分析
本文实例讲述了Python正则表达式查找功能。分享给大家供大家参考,具体如下:
题目如下:
编写一个程序,打开文件夹中所有的.txt文件,查找匹配用户提供的正则表达式的所有行。结果应该打印到屏幕上。
思路如下:
程序需要做的事情如下:
遍历文件夹得到所有.txt文件名
打开所有.txt文件,正则表达式进行模式匹配
查找结果显示到屏幕
代码需要做的事情如下:
导入re,os模块
定义正则表达式函数
函数内进行正则表达式匹配,并返回匹配所在行列表
for调用os.listdir(path),生成.txt文件名列表
for循环打开所有.txt文件
用户输入需要查找的字符串
for循环遍历函数返回结果
输出结果到屏幕
代码如下:
import os, re
def fileRex(inputStr,txtLines):
txtRex = re.compile(r'{0}'.format(inputStr)) #正则表达式对象
blockList = []
i = 0
for t in txtLines:
try:
mo1 = txtRex.search(t)
mo1.group()
#search()方法匹配成功生成match对象,group()返回匹配到的对象,匹配成功即表示这一行为需要查找结果,添加到列表
i += 1 #计数
blockList.append(t)
except:
continue
#search()方法未匹配成功会报错,程序崩溃,因此需要except加上continue,进入下一次循环
print("匹配到的模式个数:",i)
return blockList
nameList = [] #创建文件名列表
file = input("请输入文件夹绝对路径(如:C:\\Users\\Administrator\\Desktop\\exam):") #\\转义字符相当于 \
for fileName in os.listdir(file): #os.listdir()方法遍历文件夹
p = 0
if fileName.endswith('.txt'): #enswith方法,判断字符串结尾,检查文件名后缀是不是.txt文本文件
nameList.append(fileName) #添加到文件名列表
p += 1
else:
continue
print("找到的文本文件个数: {0} !文件有:{1}".format(p,nameList))
txtLines = [] #创建存放文本行的列表
for i in nameList:
txtFile = open('{0}\\{1}'.format(file,i)) #open函数创建file对象
txtLines += txtFile.readlines() #readlines返回列表,+ 号连接返回的列表
print("文本文件行列表:\n",txtLines) #输出文本行列表
inputStr = input("请输入要查找的字符串:")
for k in fileRex(inputStr,txtLines): #调用函数,循环遍历返回的列表
k = k.strip('\n') #去掉列表字符串中的空格
print("含有字符 “{0}” 的文本行有:{1}".format(inputStr,k)) #输出查找结果
输出结果如下:
希望本文所述对大家Python程序设计有所帮助。
搜索python题目的软件_Python编程快速上手——正则表达式查找功能案例分析相关推荐
- python编程思维代码_Python编程快速上手——强口令检测算法案例分析
本文实例讲述了Python强口令检测算法.分享给大家供大家参考,具体如下: 强口令检测 题目如下: 写一个函数,它使用正则表达式,确保传入的口令字符串是强口令.强口令定义:长度不少于8个字符,同时包含 ...
- python实操100例乘法表_Python编程快速上手——Excel表格创建乘法表案例分析
本文实例讲述了Python Excel表格创建乘法表.分享给大家供大家参考,具体如下: 题目如下: 创建程序multiplicationTable.py,从命令行接受数字N,在一个Excel电子表格中 ...
- python编程快速上手第三章_Python编程快速上手 往让繁琐工作自动化-6.6 习题(示例代码)...
Python编程快速上手 往让繁琐工作自动化-6.6 习题 1.什么是转义字符? 答:转义字符表示字符串中的一些字符,这些字符用别的方式很难在代码中打印出来. 2.转义字符\n和\t代表什么? 答:\ ...
- python编程快速上手-----让繁琐工作自动化_Python编程快速上手—让繁琐工作自动化|百度云盘|基础学习...
下载地址: 链接:https://pan.baidu.com/s/1QRH_LyFAizkbLfJm3oyK1w 提取码:5fel 内容提要 如今,人们面临的大多数任务都可以通过编写计算机软件来完成. ...
- python新建文件夹口令_python编程快速上手—口令保管箱
之前小编为大家整理了如何成为一个优秀的程序员应该具备的品质,接下来为大家展示一个简单有趣的python小项目,从中体会编程的乐趣.小编了解这个小项目之后,很是惊奇,觉得python竟然还可以做这样的事 ...
- python快速编程入门课本第六章_python编程快速上手第六章实践项目参考code
代码如下: 题目的意思是通过一个函数将列表的列表显示在组织良好的表格中,每列右对齐 tableData = [['apples', 'oranges', 'cherries', 'banana'], ...
- python题目的软件_python练习题:随机出题程序
题目1:设计一个程序,帮助小学生练习10以内的加法 题目要求: 详情: - 随机生成加法题目; - 学生查看题目并输入答案; - 判别学生答题是否正确? - 退出时, 统计学生答题总数,正确数量及正确 ...
- python正则表达式匹配模式屠夫之桥_Python 编程快速上手 第 7章 模式匹配与正则表达式...
1 >>> consonantRegex = re.compile(r'[^aeiouAEIOU]')2 >>> consonantRegex.findall('R ...
- python编程快速上手-----让繁琐工作自动化_Python编程快速上手让繁琐工作自动化--逗号代码和字符图网格...
逗号代码 假定有下面这样的列表: spam = ['apples', 'bananas', 'tofu', 'cats'] 编写一个函数,它以一个列表值作为参数,返回一个字符串. 该字符串包含所有表项 ...
最新文章
- 原创 | 大数据时代,应让“抗疫”更科学
- string数组批量转换成Int数组
- Android变形(Transform)之Camera使用介绍【转】
- C++中的inline用法
- 口罩热销卖断货,有的商家却坐地涨价,中国青年报:电商不该借机发疫情财...
- PureComponent: setState未触发render渲染
- 【车牌识别】+【模板匹配】基于智能交通的车牌识别系统
- Webform(简单控件、复合控件)
- 5、Spring Cloud-声明式调用 Feign(下)
- Bailian4004 数字组合【递归+DP】
- java 给多人发送、抄送
- 计算机博弈程序python_程序员大神们的经典编程语录
- C++ 智能指针和工厂模式
- 改变世界的十大计算机病毒(图)
- 烤仔观察丨和你息息相关!DCEP 能否领跑?各国数字货币都在搞什么?
- Mac小技巧:五秒学会Mac电脑旋转屏幕
- 厦门大学计算机科学夏令营过程,厦门大学信息学院计算机系夏令营学生见面会如期召开-厦门大学计算机科学系...
- 美团综合业务推荐系统的质量模型与实践
- Java IO Steam
- CGB2106-Day10
热门文章
- java实现保存一张图片_Java图片剪裁并保存的代码实现
- 量子计算机西南交大,交大量子光电实验室
- python4发布,Python 2.7.4、3.2.4、3.3.1版本发布
- python反编译加密文件_python打包的二进制文件反编译
- wampserver 调试 php,phpstrom+wampserver+xdebug配置
- hpux11.31环境,vgmodify: This operation can only be completed if PE number zero的解决办法
- php开发错题集,基于PHP技术数学错题集错系统的设计实现
- mysql longtext db2_从 MySQL 或 PostgreSQL 迁移到 DB2 Express-C
- java 泛型方法 泛型类
- 基于JAVA+SpringBoot+Mybatis+MYSQL的垃圾分类管理系统