python 根据正则表达式查找文本信息 写入 新文件

该代码实现了一个功能,通过遍历当前目录下所有文件,并按修改时间排序,查找匹配特定正则表达式的文本行,然后将这些行写入新的文件中。主要步骤包括读取每个文件内容,对每一行进行正则匹配,如果匹配成功,则将该行写入新文件。新文件的开头会列出正在检查的文件名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

功能

查找当前目录下符合正则表达式的的文件的文本 将该文本写入到 新的文件夹

实现原理

  1. 按时间从小到大排序,遍历当前文件夹的文件
  2. 读取每个文件的内容
  3. 每行匹配到的文本信息 写入新文件

代码

import re
import os
import sys

# cmd执行 该文件
# FindMessage.py

parttern = "正则表达式" # 配置正则表达式

newFile = "newFiles.txt" # 匹配的字符串写入的文件


def read_file(filePath,writeFile):
    with open(filePath,"r",errors='ignore') as file:
        lines = file.readlines()
        for line in lines:
            result = re.search(parttern,line,re.I)
            if result == None:
                continue
            writeFile.write(line)
        file.close()

def check_files():
    with open(newFile, "w", errors='ignore') as writeFile:
        for root, dirs, files in os.walk("./"):
            files = sorted(files, key=lambda x: os.path.getmtime(os.path.join("./", x))) # 按时间从小到大排序
            print(files)
            for file in files:
                print("checking file: "+file);
                if file == newFile || file == "FindMessage.py":
                    continue
                writeFile.write("\n========"+file+"========\n")
                read_file(os.path.join("./", file),writeFile);
        writeFile.close()


if __name__=="__main__":
    check_files()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值