【发布时间】:2015-11-26 07:03:18
【问题描述】:
我正在尝试使用 fileinput.input(filename, inplace=1) 编辑文本文件
文本文件有 5 行:
line 0
line 1
line 2
line 3
line 4
我希望根据line 2 中的信息更改line 1 的数据。
所以我使用for 循环
infile = fileinput.input(filename, inplace=1)
for line in infile:
if(line2Data):
#do something on line1
print line,
else:
line1=next(infile)
line2=next(infile)
#do something with line2
现在我的问题是在第一次迭代后line 设置为line2,所以在第二次迭代中该行设置为line3。我希望在第二次迭代中将 line 设置为 line1。我试过line = line,但它不起作用。
您能否告诉我如何重置 line 上的迭代索引,该索引由于 next 而发生更改
PS:这是我正在处理的大型文件和函数的一个简单示例。
【问题讨论】:
-
为什么不把第一行存起来,以后再用呢?
-
因为文件必须连续打印
-
你怎么知道你想重新开始?你想总是从头开始吗?
-
是的,我想从头开始或从下一个索引重新开始,即 1
标签: python file iteration next