我想搜索文件中的特定字符串,并基于该文件我必须处理文件数据。使用“with”的文件对象超过1次
我知道如何做2次打开文件。
这可以通过打开文件只有一次?
代码:
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
...
但在这里第二次的循环,从那里第一环已经离开启动时,它不会从文件的第一行开始,这就是为什么它的不在这里工作。
为什么你要先标志?为什么你不能直接在你的if循环中处理它? – 2014-09-03 06:06:40
@BurhanKhalid因为“我的字符串”是在文件的第一行和最后一行之间,我也必须在第二次循环之前处理文件 – Patrick 2014-09-03 06:08:36