如何遍历文件的第n行?
首先,我是Python的新手,确实搜索了答案,但是没有运气。到目前为止,我发现的内容只返回一行,就像下面的代码一样。我尝试了其他解决方案,例如,itertools.islice
但总是只能返回一行。
我有一个名为data.txt
包含数据行的文件:
This is line one
This is line two
This is line three
This is line four
This is line five
This is line six
This is line seven
...
我有以下代码:
with open('data.txt', 'r') as f:
for x, line in enumerate(f):
if x == 3:
print(line)
在这种情况下,它仅打印
“这是第四行”。
我知道为什么,但是如何从这里拿走并打印第4、7、10、13行…?
-
的返回值
open
是一个迭代器(因此是可迭代的),因此您可以将其传递给itertools.islice
:islice(iterable,start,stop [,step])-> islice对象
返回一个迭代器,该迭代器的next()方法返回可迭代的选定值。[…]演示:
data.txt
:line1 line2 line3 line4 line5 line6 line7 line8 line9 line10 line11 line12 line13
码:
from itertools import islice with open('data.txt') as f: for line in islice(f, 3, None, 3): print line, # Python3: print(line, end='')
产生:
line4 line7 line10 line13