[Python] letture asincrone da piu' files

Stefano Dal Pra s.dalpra a gmail.com
Lun 13 Ott 2008 18:23:19 CEST


Saluti,

sto cercando di affrontare il seguente problema:

delle informazioni vengono loggate da alcuni servizi su tre files distinti
e io vorrei "ascoltare" questi tre files e comporre dei dizionari con
informazioni
che vengono dai tre files.

Stavo tentando una cosa tipo:


f1=os.popen("cat %s | tail -f "%file1)
f2=os.popen("cat %s | tail -f "%file2)
f3=os.popen("cat %s | tail -f "%file3)

def trattalinea(nomefile,linea,d={}):
   (k,v) = estrai_chiave_valore(nomefile,linea)
   d[k]=v

d={}
for nomefile,linea in la_prima_che_capita_da(f1,f2,f3):
     trattalinea(nomefile,linea,d)
     if dizionario_completo(d):
          fai_qualcosa(d)

Il problema e' insomma quello di iterare su linee prodotte in modo
asincrono da tre files...

Sto spulciando documentazione e documenti vari ma per ora non so bene
quale metodo (thread,code,signal,fcntl....) sia migliore
Avete suggerimenti su quale approccio usare?


Grazie
Stefano


Maggiori informazioni sulla lista Python