我正在编写一个脚本,将文本文件解析为电子表格,在这过程中,我需要通读它们。问题是找出何时停止。Java在阅读时附加了一个名为hasNext()
或hasNextLine()
的方法,我想知道Python中是否有类似的东西?不知为什么我在哪儿都找不到这个。在
例如:
open(f) as file:
file.readline()
nextLine = true
while nextLine:
file.readline()
Do stuff
if not file.hasNextLine():
nextLine = false
Tags:
文件是行上的迭代器。如果您只想检查一个文件是否还有一行,您可以发出
line = next(file)
并捕捉出现的StopIeration
,以防没有其他行。或者,可以将line = next(file, default)
与非字符串default
值(例如None
)一起使用,然后进行检查。在请注意,在大多数情况下,当文件上的
for
循环结束时,您就知道完成了,正如其他答案所解释的那样。因此,请确保您确实需要使用next
的细粒度控制。在我用来阅读文本文件的典型节奏是:
使用
with
只会使文件保持打开状态,直到您执行完它所在块中的所有代码,然后该文件将被关闭。我还认为在这里突出显示readlines()
方法很有价值,它读取文件中的所有行并将它们存储在一个列表中。关于处理换行符(\n
)字符,我将向您指出@Joe Iddon的答案。在只需使用for循环遍历file对象:
注意,这包括每个
^{pr2}$line
字符串末尾的新行字符(\n
)。可以通过以下任一方法移除:或者:
您只能通过读取文件来检查文件是否有另一行(尽管您可以使用
file.tell
来检查是否在文件的末尾而不进行任何读取)。在这可以通过调用}异常来完成。在
file.readline
并检查字符串是否为空或调用next
的{a1}并捕获{为了准确回答您的问题,您可以检查文件是否有另一行:
或者,在不修改当前文件指针的情况下:
它将文件指针重置回其原始状态。在
例如
相关问题 更多 >
编程相关推荐