Ton code est inexact. En gros, il devrait faire quelque chose comme ceci :
N = 5
def worker(i):
fp = open(...)
for line in islice(fp, i, None, N):
...
pool = Pool(N)
result = pool.map(worker, range(N))
Apres, ce n'est pas forcément une bonne idée d'utiliser du multiprocessing pour faire de l'IO, mais c'est un autre sujet.