gpt4 book ai didi

Python:对于文件循环,如何在for循环中获取下一行?

转载 作者:太空狗 更新时间:2023-10-29 17:31:14 24 4
gpt4 key购买 nike

我有一个文件,我想一次获取每一行,但是一旦到达特定行,我需要获取接下来几行的信息。

这是一个代码示例:

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

当我返回并第二次循环时,第一个打印语句应该打印文件中的第 5 行。有什么办法可以做到这一点吗?

编辑:很抱歉没有澄清细节。 rofile 是我正在遍历的文件对象。 next() 是否是使用文件时获取下一行的真正方法,我不知道。我对 python 中的文件操作没有太多经验。

最佳答案

您可以使用iter 将您的对象转换为支持next 的iterable。

irofile = iter(rofile)
for line in irofile:
print line
if(line == 'foo'):
line = next(irofile) #BEWARE, This could raise StopIteration!
print line

正如评论中指出的那样,如果您的对象已经是一个迭代器,那么您无需担心 iter(file 对象就是这种情况).但是,我将它留在这里,因为它适用于任意可迭代对象(例如 lists)。

关于Python:对于文件循环,如何在for循环中获取下一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13572062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com