如何在python中的第X行开始阅读?

gur*_*gui 1 python

实际上我读了这样一个文件:

f = open("myfile.txt")
for line in f:
    #do s.th. with the line
Run Code Online (Sandbox Code Playgroud)

我不需要在第一行开始阅读,而是在X线开始阅读?(例如5.)

Jon*_*nts 9

如果需要,可以使用itertools.islice指定start,stop和step并将其应用于输入文件...

from itertools import islice

with open('yourfile') as fin:
    for line in islice(fin, 5, None):
        pass
Run Code Online (Sandbox Code Playgroud)

  • 这就是itertools.islice的用途 (2认同)

eum*_*iro 8

打开的文件对象f是迭代器.阅读(并丢弃)前四行,然后继续定期阅读:

with open("myfile.txt", 'r') as f:
    for i in xrange(4):
        next(f, None)
    for line in f:
        #do s.th. with the line
Run Code Online (Sandbox Code Playgroud)

  • `next(f,None)`不为小于4行的文件引发错误 (4认同)
  • 很好地使用`next(f)`而不是`f.readline()` (2认同)