从多个文件中搜索需要的文件

目的:从多个文件中筛选包含某个字符串的文件

import os
from shutil import copy

# 获取所有后缀为.log 的文件
def getAllFiles(targetDir):
    files = []
    listFiles = os.listdir(targetDir)
    for i in range(0, len(listFiles)):
        path = os.path.join(targetDir, listFiles[i])
        if os.path.isdir(path):
            files.extend(getAllFiles(path))
        elif os.path.isfile(path):
            if path.endswith('.log'):
                files.append(path)
    return files


# 读取文件信息
def readfile(path):
    lines = []
    with open(path, 'r', encoding='utf-8') as readhost:
        line = readhost.readlines()
        for i in line:
            l = i.replace("\n", "")
            lines.append(l)
    return line


# 筛选信息
def getresult(line):
    fund_account = '53151363'
    results = []
    for i in line:
        result = i.find(fund_account)
        if result != -1:
            results.append(i)
    return results


# 筛选文件
def copyfile(src, target):
    files = getAllFiles(src)
    for i in files:
        log_list = readfile(i)
        rlt = getresult(log_list)
        if rlt:
            copy(i, target)


if __name__ == '__main__':
    resource = r'E:\applog\1\trade-applog-F-20221101'
    target = r"C:\Users\likf\Desktop\result2022\1"
    copyfile(resource, target)

作者:likaifei

出处:https://www.cnblogs.com/likaifei/p/17054690.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   adai_kfl  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示