#!python
# coding: utf-8

# --------------------------------------------
# Make data for test.
with file('g:\\data.txt', 'w') as fd:
    for i in range(1000):
        fd.write('%d\n' % i)
    fd.close()

# --------------------------------------------
# Use generator for batch processing
def get_data(filename, num_of_data):
    """Gather data for batch processing."""
    data_collection = []
    for i,ln in enumerate(file(filename, 'r'), 1):
        data_collection.append(ln.strip())
        if i % num_of_data == 0:
            yield data_collection
            data_collection = []

for data_50 in get_data('g:\\data.txt', 50):
    # process data here.
    data_sum = sum(map(int, data_50))
    print data_sum

# --------------------------------------------
# Use cmdlet package to handle same task.
from cmdlet.cmds import *

for data_50 in (readline('g:\\data.txt') | pack(50)):
    # process data here.
    data_sum = sum(map(int, data_50))
    print data_sum