使用python读取文件,如果当前行包含ERROR,输出当前行向上10行和向下三行的数据
时间: 2024-01-24 11:04:04 浏览: 32
以下是使用Python读取文件,查找包含ERROR的行并输出上下行数据的示例代码:
```python
with open('file.txt', 'r') as f:
lines = f.readlines()
for i, line in enumerate(lines):
if 'ERROR' in line:
print('Line:', i+1)
print('Content:', line.strip())
print('Previous 10 lines:')
for l in lines[max(0, i-10):i]:
print(l.strip())
print('Next 3 lines:')
for l in lines[i+1:i+4]:
print(l.strip())
print('-' * 20)
```
上述代码中,我们使用`with open()`语句打开文件并读取所有行。接着我们使用`enumerate()`函数遍历所有行,并判断当前行是否包含`ERROR`关键字。如果包含,我们输出当前行的行号、内容,并分别输出当前行的前10行和后3行数据。
注意,在输出前10行时,我们使用了`max(0, i-10)`来确保不越界。因为有可能当前行在文件的前10行之内,所以我们需要从0开始。
另外,为了更好的可读性,我们在输出前后数据时加了一些分隔符。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)