[Python] saluti e prima domanda sulle list comprhension

Java quilospam a email.it
Dom 27 Gen 2008 17:34:59 CET


Salve a tutti, sono nuovo di questa mailing list e del pythone più in 
generale!

Prima di fare la domanda, preannuncio che mi sono occupato di questa 
cosa per un paio di giorni, e che essendo completamente niubbo con il 
python potrei aver fatto qualche cavolata :-D

Veniamo alla nota dolente, devo fare un progetto per 
l'università(costruire una rete sociale di video di youtube) che 
comporta anche la scrittura di un piccolo crawler. Ho pensato di usare 
python sostanzialmente perché non lo conoscevo, e così approfitto 
dell'esame per imparare un nuovo linguaggio...

Senza entrare troppo nei dettagli, ho fatto un thread che si occupa di 
fare il crawling di una pagina iterando per in base alla profondità di 
crawling. Cioè se questa è 1 "parso" (ARGH!) solo la pagina iniziale, se 
vale 2 parso anche tutti i link in essa e così via...

ecco il codice:

def run ( self ):
       #  lista temporanea
       temp = []
       # all'inizio la lista results contine l'url iniziale
       results = [self.start_url]
       #cast della profondita' in intero poiché la leggo da input
       p = int(self.profondita)
       # finche' la profondita' e' maggiore di zero, intero sulla lista 
temp eseguendo il
       # parsing degli url trovati in essa
       while(p > 0):
           print "Thread lanciato con profondita: ", p
           # copio i risultati attuali dentro la lista temp
           # all'inizio conterrà solo un url
           temp = results            
           print "ecco la lista TEMP:"
           print  temp
           [results.extend(self.parseUrl(video)) for video in temp]
           print "finito ciclo while \n\n\n" # qua non ci arrivo mai :-(
           p-=1

il problema è che in ogni caso non esce mai dalla list comphrension, 
eppure la lista temp contiene un solo url!
In pratica continua a ciclare come se ogni volta eseguisse temp = 
results, ma non capisco il perché...

qualche idea?

--Segolas


More information about the Python mailing list