【发布时间】:2014-10-27 12:44:48
【问题描述】:
我想在文件中搜索一个特定的字符串,并在此基础上处理文件数据。
我知道如何打开文件 2 次。
这可以通过仅打开文件 1 次来完成吗?
代码:
with open(path, "r") as _file:
for line in _file:
if "my_string" in line:
flag = True
break
with open(path, "r") as _file:
for line in _file;
if flag:
process line
...
else:
process differently
...
我试过了:
with open(path, "r") as _file:
for line in _file:
if "my_string" in line:
flag = True
break
for line in _file;
if flag:
process line
...
else:
process differently
...
但是这里第二个 for 循环从第一个循环离开的地方开始,它不是从文件的第一行开始,这就是它在这里不起作用的原因。
【问题讨论】:
-
为什么一定要先举报?为什么不能直接在 if 循环中处理?
-
@BurhanKhalid 因为“我的字符串”在文件的第一行和最后一行之间,而且我必须处理文件的每一行
标签: python-2.7 file-io with-statement