【发布时间】:2015-11-25 18:04:45
【问题描述】:
我处理一个文件:跳过标题(注释),处理第一行,处理其他行。
f = open(filename, 'r')
# skip the header
next(f)
# handle the first line
line = next(f)
process_first_line(line)
# handle other lines
for line in f:
process_line(line)
如果line = next(f)替换成line = f.readline()会报错。
ValueError:混合迭代和读取方法会丢失数据
因此,我想知道next(f)、f.readline()和f.next()在Python中的区别?
【问题讨论】:
-
next(iter)函数调用iter.next(),如果你给next()第二个参数,它将处理StopIteration异常。有关next()与file.readline()的详细信息,请参阅骗子。 -
副本涵盖了相同的想法,这是由于使用
readline和next导致的不一致。但是,这篇文章专门询问了两者之间的“区别”是什么,这与 dup 所要求的不同。其他提出相同问题的人可能会找到这篇文章而不是 dup。此外,接受的答案并没有真正回答问题,因为它没有解释readline的作用。