python 逐行读取txt并匹配行内容
时间: 2023-09-28 11:10:14 浏览: 580
可以使用Python的文件读取操作和正则表达式来实现逐行读取txt并匹配行内容的功能。
示例代码:
```python
import re
with open('file.txt', 'r') as f:
lines = f.readlines() # 逐行读取txt文件内容
for line in lines:
if re.search(r'pattern', line): # 使用正则表达式匹配行内容
print(line) # 打印匹配结果
```
其中,`file.txt`是需要读取的txt文件名,`pattern`是需要匹配的正则表达式。在循环中,对每一行都进行正则表达式匹配,如果匹配成功,则打印该行内容。
相关问题
python逐行读取文本并监测某行是否有某个字符
你可以在逐行读取文本的过程中,使用Python的`in`运算符检查每行是否包含某个字符或字符串。
示例代码如下:
```python
with open('file.txt', 'r') as file:
for line in file:
if 'target_string' in line:
print('Found target string in line:', line)
else:
print('Target string not found in line:', line)
```
这个代码片段将打开名为`file.txt`的文件,并逐行读取文件内容。如果某行中包含了`target_string`这个字符串,就会将该行打印到控制台上,否则将打印一条提示信息。你可以将`target_string`替换为你要查找的字符或字符串。
需要注意的是,`in`运算符是区分大小写的。如果你希望忽略大小写进行匹配,可以将每行和目标字符串都转换为小写或大写。例如:
```python
with open('file.txt', 'r') as file:
for line in file:
if 'target_string' in line.lower():
print('Found target string in line:', line)
else:
print('Target string not found in line:', line)
```
这个代码片段将会忽略大小写进行匹配。
python逐行读取文本并监测某行是否以“Per MPI rank memory allocation”字符开头
可以使用Python中字符串的`startswith()`方法来检查某一行是否以指定的字符串开头。示例代码如下:
```python
with open('file.txt', 'r') as file:
for line in file:
if line.startswith('Per MPI rank memory allocation'):
print('Found target line:', line)
else:
print('Target string not found in line:', line)
```
这个代码片段将打开名为`file.txt`的文件,并逐行读取文件内容。如果某行以`Per MPI rank memory allocation`这个字符串开头,就会将该行打印到控制台上,否则将打印一条提示信息。
需要注意的是,`startswith()`方法也是区分大小写的。如果你希望忽略大小写进行匹配,可以将每行和目标字符串都转换为小写或大写,然后再使用`startswith()`方法进行匹配。例如:
```python
with open('file.txt', 'r') as file:
for line in file:
if line.lower().startswith('per mpi rank memory allocation'):
print('Found target line:', line)
else:
print('Target string not found in line:', line)
```
这个代码片段将会忽略大小写进行匹配。
阅读全文