1. 程式人生 > 其它 >python 根據正則表示式查詢文字資訊 寫入 新檔案

python 根據正則表示式查詢文字資訊 寫入 新檔案

功能

查詢當前目錄下符合正則表示式的的檔案的文字 將該文字寫入到 新的資料夾

實現原理

  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()