On Fri, 4 Dec 2009 12:34:15 +0100, Ernesto <e.pica...@unical.it> wrote:
> Per ora il modo più semplice che ho trovato è: > > import os > f=open(infile) > for i in f: > l=(i.strip()).split("\t") > out=open(l[2]+".txt","a") > out.write(i) > out.close() > f.close() > > Lanciato su un file di 15GB il tempo necessario per completare il > tutto è superiore ai 2 giorni. > C'è un modo per velocizzare il processo? Perchè apri e chiudi i file ad ogni riga? Ogni volta gli fai flushare il buffer. Lasciali aperti: # NON TESTATO files = {} for c in "ABC: files[c] = open(c + ".txt","a") f=open(infile) for i in f: l=(i.strip()).split("\t") files[l[2]].write(i) f.close() for f in files.values(): f.close() -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python