问题描述
我正在阅读一个文件,想知道是否有办法读取for循环中的下一行?
我正在读取这样的文件:
file = open(input,r)。read()
for file.splitlines()
line = doSomething()
所以无论如何我都可以检索下一行文件中的for循环,使我可以在 doSomething()函数中执行一些操作?
只要循环打开文件即可:
infile = open(input,r)
在infile中的行:
line = doSomething(line,next(infile))
/ pre>
因为您现在使用该文件作为迭代器,所以您可以调用 随时可以检索一个额外的行。
另外两个提示:
- code>与语句。它会在完成时自动关闭文件:
不要调用变量文件;它掩盖了python中内置的文件类型对象。我将它命名为 infile 。
与开放(输入,r)作为infile:
为infile行:
line = doSomething(line,next(infile))
I am reading in a file and wonder if there's a way to read the next line in a for loop?
I am currently reading the file like this:
file = open(input,"r").read() for line in file.splitlines(): line = doSomething()So is there anyway I can retrieve the next line of the file in that for loop such that I can perform some operation in the doSomething() function?
Thanks
解决方案Just loop over the open file:
infile = open(input,"r") for line in infile: line = doSomething(line, next(infile))Because you now use the file as an iterator, you can call the next() function on the infile variable at any time to retrieve an extra line.
Two extra tips:
Don't call your variable file; it masks the built-in file type object in python. I named it infile instead.
You can use the open file as a context manager with the with statement. It'll close the file for you automatically when done:
with open(input,"r") as infile: for line in infile: line = doSomething(line, next(infile))
这篇关于获取文件中的下一行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!