2024-10-01 11:24:02 发布
网友
我正在读一个文件,想知道是否有办法读取for循环中的下一行?
我目前正在读这样的文件:
file = open(input,"r").read() for line in file.splitlines(): line = doSomething()
那么,我是否可以在for循环中检索文件的下一行,以便在doSomething()函数中执行某些操作?
doSomething()
我认为你的意思是,如果你在n行,你希望能够访问n+1行。
最简单的方法就是
for line in file.splitlines():
与
lines = file.readlines() for i in xrange(len(lines)):
然后您可以使用 lines[i] 获取当前行,使用 lines[i+1]获取下一行
lines[i]
lines[i+1]
更像Python的方法是使用枚举
lines = file.readlines() for index, line in enumerate(lines):
现在,您已经将当前行像normal一样放在“line”中,但是如果您希望找到与之相关的另一行,则还可以使用索引。
file = open(input,"r").read() lines = file.read().splitlines() for i in range(len(lines)): line = lines[i] next_line = lines[i+1]
只需循环打开的文件:
infile = open(input,"r") for line in infile: line = doSomething(line, next(infile))
因为现在将文件用作迭代器,所以可以随时调用infile变量上的^{} function来检索额外的行。
infile
两个额外提示:
不要调用变量file;它在python中屏蔽了内置的file类型对象。我取名为infile。
file
可以将打开的文件用作带有with语句的上下文管理器。完成后,它将自动为您关闭文件:
with
with open(input,"r") as infile: for line in infile: line = doSomething(line, next(infile))
我认为你的意思是,如果你在n行,你希望能够访问n+1行。
最简单的方法就是
for line in file.splitlines():
与
然后您可以使用
lines[i]
获取当前行,使用lines[i+1]
获取下一行更像Python的方法是使用枚举
现在,您已经将当前行像normal一样放在“line”中,但是如果您希望找到与之相关的另一行,则还可以使用索引。
只需循环打开的文件:
因为现在将文件用作迭代器,所以可以随时调用} function 来检索额外的行。
infile
变量上的^{两个额外提示:
不要调用变量
file
;它在python中屏蔽了内置的file
类型对象。我取名为infile
。可以将打开的文件用作带有
with
语句的上下文管理器。完成后,它将自动为您关闭文件:相关问题 更多 >
编程相关推荐