python3 根据case名从指定目录中读取指定文件的log,如根据 BmimageAccTest这个case名读取,/work/space目录下run_BmimageAccTest.log文件中倒数第四行的数据
时间: 2024-10-21 12:17:41 浏览: 13
python打包压缩、读取指定目录下的指定类型文件
在Python中,你可以使用os模块来遍历目录,然后结合re模块(正则表达式)来查找包含特定case名的文件。Pandas库可以用于处理文本文件并获取特定行数据。下面是一个简单的示例:
```python
import os
import re
import pandas as pd
# 定义目标路径和case名
dir_path = "/work/space"
case_name = "BmimageAccTest"
# 构建文件名,假设log文件有固定的命名模式(例如"run_" + case_name + ".log")
file_name = "run_" + case_name + ".log"
# 指定需要的行数(这里获取倒数第四行,索引从0开始,所以是-4)
line_number = -4
# 查找文件
full_file_path = os.path.join(dir_path, file_name)
if not os.path.exists(full_file_path):
print(f"文件 {file_name} 不存在.")
else:
# 读取文件内容
with open(full_file_path, 'r') as f:
log_content = f.read()
# 使用正则表达式匹配case相关的行,这里假设每一行数据前有明显的标识
pattern = r'^.*' + re.escape(case_name) + r'.*'
lines = re.findall(pattern, log_content, re.MULTILINE)
if len(lines) >= line_number + 1:
# 获取倒数第四行
last_line = lines[line_number]
print(f"倒数第四行数据: {last_line}")
else:
print("没有找到匹配case的足够多的行.")
```
阅读全文