No se puede escribir en un archivo utilizando el multiprocesamiento de Python

from itertools import product f = open('filename.txt', 'a') def worker(i, j): print i,j f.write("%s\t%s\n"%(i,j)) return def main(): a_list = ['1', '2', '3', '4', '5'] #5 item b_list = ['6', '7', '8'] #3 item # Total 5*3=15 combinations from multiprocessing import Pool pool = Pool(processes=4) results = [pool.apply_async(worker, args=(i, j)) for i, j in product(a_list, b_list)] output = [p.get() for p in results] main() f.close() 

Este es el código que bash ejecutar y almacenar el resultado en un archivo txt, pero no puedo explicar por qué esto no se está escribiendo, aunque se está imprimiendo en la terminal. Cualquier ayuda sería apreciada.

agregue f.flush() después de la f.write(...)