> Thanks for making me aware of the (UNIX) split command (split -l 5 > inFile.txt), it's short, it's fast, it's beautiful. > > I am still wondering how to do this efficiently in Python (being kind > of new to it... and it's not for homework).
Something like this should do the job: def nlines(num, fileobj): done = [False] def doit(): for i in xrange(num): l = fileobj.readline() if not l: done[0] = True return yield l while not done[0]: yield doit() for i, group in enumerate(nlines(5, open('bigfile.txt'))): out = open('chunk_%d.txt' % i) for line in group: out.write(line) > I am still wondering how to do this in Python (being new to Python) This is just one way of doing it, but not as concise as using split... Alberto -- http://mail.python.org/mailman/listinfo/python-list