正则表达式查找
编写一个程序,打开文件夹中所有的.txt 文件,查找匹配用户提供的正则表达式的所有行。结果应该打印到屏幕上。习题来源《python编程快速上手,让繁琐的工作自动化》第八章
#re用于正则表达式匹配
import os
import re
#查看当前目录
x=os.getcwd()
print(x)
string='ab'
#dirlist表示查看的文件夹
dirlist=os.listdir('D:\\ycycollege\\读书笔记\\python\\python编程快速上手')
#遍历文件夹内的文件或目录名
for pa in dirlist:
#获取文件后缀名
ab=os.path.splitext(pa)[-1]
if ab == '.txt':
print(pa)
#打开txt文件
txtfile=open(pa,'r')
#获取txt文件内容,按行构成list存储
strsfile=txtfile.readlines()
#遍历每一行
for line in strsfile:
#正则表达式匹配这一行中是否有a。
matchobj=re.search(r'a',line)
#如果匹配,则输出该行。
if matchobj:
print("a math line:")
print(line)
#关闭文件
txtfile.close()