<p>我有一个文件,我想一次得到每一行,但一旦它到了一个特定的行,我需要得到下几行的信息。</p>
<p>下面是代码示例:</p>
<pre><code>rofile = open('foo.txt', 'r')
for line in rofile:
print line
if(line.strip() == 'foo'):
line = line.next()
print line
line = line.next()
print line
line = line.next()
print line
</code></pre>
<p>当我第二次返回并循环时,第一个print语句应该打印文件中的第5行。有什么可能的办法吗?</p>
<p>编辑:很抱歉没有澄清细节。<code>rofile</code>是我正在遍历的文件对象。使用文件时,<code>next()</code>是否是获取下一行的真正方法,我不知道。我对python中的文件操作没有太多经验。</p>
<p>如果您实际上不想对每一行都执行<em>操作,请不要使用<code>for</code>循环。一种选择可能是:</p>
<pre><code>try:
while True:
line = file.next()
#do stuff
if line == 'foo':
#do other stuff
except(StopIteration):
#go on with your life
</code></pre>