阅读Python中的每四行

len*_*hun 3 python

我有一个文件,我试图每隔四行读取(并写入另一个文件).我正在使用的解决方案没有给出预期的结果.

为sample.txt line1 line2 line3 line4 line5 line6 line7 line8 line9 line10

script.py

from itertools import islice
with open('sample.txt') as fin, open('output.txt','w') as fout:
         fout.writelines(islice(fin,None,None,4))
Run Code Online (Sandbox Code Playgroud)

现在输出文件给我line1,line5,line9而不是line4,line8.

我将如何改变这一点以获得理想的结果?

Car*_*ten 7

你快到了.islice附带一个start参数.在你的情况下,它是你设置的第二个None.试试这个:

fout.writelines(islice(fin,3,None,4)) # line with index 3 is the fourth line
Run Code Online (Sandbox Code Playgroud)