Shawn Milochik wrote: > On 9/5/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: >> I have a text source file of about 20.000 lines. >> >From this file, I like to write the first 5 lines to a new file. Close >> that file, grab the next 5 lines write these to a new file... grabbing >> 5 lines and creating new files until processing of all 20.000 lines is >> done. >> Is there an efficient way to do this in Python? >> In advance, thanks for your help. >>
Maybe (untested): def read5Lines(f): L = f.readline() while L : yield (L,f.readline(),f.readline(),f.readline(),f.readline()) L = f.readline() in = open('C:\YourFile','rb') for fileNo, fiveLines in enumerate(read5Lines(in)) : out = open('c:\OutFile'+str(fileNo), 'wb') out.writelines(fiveLines) out.close() or something similar? (notice that in the last output file you may have a few (4 at most) blank lines) -- http://mail.python.org/mailman/listinfo/python-list