擅长:python、mysql、java
<p>根据<code>rofile</code>对象的类型,我可以想出两种方法来实现这一点。</p>
<h3>字符串列表</h3>
<p>如果您可以让它只是组成文件行的字符串列表:</p>
<pre><code>for index, line in enumerate(rofile):
if line == 'foo':
for a in range(index, index + HOW_MANY_LINES_YOU_WANT):
print rofile[a]
</code></pre>
<h3>Iterable</h3>
<p>如果文件已经是iterable:</p>
<pre><code>for line in rofile:
print line
if line == 'foo':
for a in range(3): # Just do it 3 times
print line.next()
# After this happens and the for loop is restarted,
# it will print the line AFTER
</code></pre>
<p>你可以在我写的这个快速示例中看到,它将以这种方式作为iterable工作:</p>
<pre><code>>>> k = iter([1,2,3,4])
>>> for a in k:
print 'start loop'
print a
if a == 2:
print 'in if'
print k.next()
print 'end if'
print 'end loop'
start loop
1
end loop
start loop
2
in if
3
end if
end loop
start loop
4
end loop
</code></pre>