python - 逐行读取文本文件并检查其中两行的子字符串
问题描述
我想读取一个文本文件并检查字符串
with open(my_file,'r') as f:
for line in f:
if 'text1' in line:
f.next()
if 'text2' in line:
# do some processing
我想首先在行首找到文本'text1',然后如果找到我想检查下一行是否有'text2',如果找到,我会做一些其他处理。似乎 f.next() 没有移动到下一行。
解决方案
使用 for 循环迭代并使用状态变量来确定您是否处于“test1”情况。这样您就不必处理单独的StopIteration
异常。
text1_line = ""
with open(my_file) as f:
for line in f:
if text1_line and 'text2' in line:
# do some processing
text1_line = ""
continue
text1_line = line if 'text1' in line else ""
推荐阅读
- android - 滑动以从列表视图中删除项目
- prolog - 谓词未在 SWI-Prolog 中调用
- django - 没有在 Django 中获取表单的值
- flutter - Flutter - 我想将变量从一个类传递到另一个类
- apache - 本地主机上的服务器 Tomcat v9.0 服务器无法启动。traied 所有版本的tomcat
- arrays - 长度为 n 的数组中长度为 3 的不同子序列的数量
- android - kotlin:单选按钮单选控件
- sql - 如果 IF 条件满足,则 WHERE 子句中的 AND 操作
- oracle - 有一个包含活动期间的合同表,我如何计算每日有效合同数?
- regex - 为在 ANTLR4 中工作的正则表达式编写语法