如何通过Python代码判断一个文件中的第n行存在某个字符串并且第n+1行存在另一个字符串
时间: 2023-12-10 16:42:07 浏览: 70
可以使用Python自带的文件操作模块`io`和`os`来实现。具体实现步骤如下:
1. 打开文件并逐行读取,找到第n行和n+1行的内容。
2. 判断第n行是否包含某个字符串,判断第n+1行是否包含另一个字符串。
3. 如果两个条件都满足,则返回True,否则返回False。
代码实现如下:
```python
import io
import os
def check_strings_in_file(filepath, n, str1, str2):
with io.open(filepath, 'r', encoding='utf-8') as f:
lines = f.readlines()
if len(lines) < n+1:
return False # 文件行数不够,无法判断
line_n = lines[n-1]
line_n_1 = lines[n]
if str1 in line_n and str2 in line_n_1:
return True
else:
return False
# 调用示例
filepath = 'test.txt'
n = 3
str1 = 'hello'
str2 = 'world'
if check_strings_in_file(filepath, n, str1, str2):
print(f"第{n}行包含'{str1}',且第{n+1}行包含'{str2}'")
else:
print(f"第{n}行不包含'{str1}',或者第{n+1}行不包含'{str2}'")
```
其中`filepath`是文件路径,`n`是要检查的行数,`str1`是要查找的字符串,`str2`是另一个要查找的字符串。如果文件行数不够或者两个条件有一个不满足,则返回False。
阅读全文