从多个文件中搜索需要的文件
目的:从多个文件中筛选包含某个字符串的文件
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 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!