> Male: perché usare un thread? Ogni programmatore che si rende conto > che spesso e volentieri i thread sono la risposta sbagliata ad un non > problema è una speranza per un futuro migliore. > > Diciamocela tutta: se in Java si programma con i thread (a memoria > condivisa), questo non vuole dire che debba essere buona pratica > ovunque. Io in particolare per quello che fai tu userei multiprocesso. > No: mento sapendo di mentire, forse userei un'altra cosa, ma non > voglio complicarti ora la vita. > > > No, il proff vuol poter lanciare più processi crawler in parallelo e poi vuole che si analizzino i risultati finali. Poi io ho pensato di realizzare la cosa con un programma principale che esegue un ciclo nel quale accetta dei comandi dall'utente. Se il comando è "crawler" allora aprte il thread. Poi conterrà anche i comandi per generare la rete sociale dai risultati del crawling (salvati su file) e per altre operazioni > brrr... ma così, dentro un thread prendi input da un utente? > Se l'input lo prendi fuori, falla *fuori* la conversione, > L'input arriva da "fuori" è un parametro del costruttore del thread, e anche i vari print mi servono solo per debug, poi li levo tutti e metto il try-except > eventualmente con un gestore di eccezioni. > per l'appunto ;-D > Ehm. Guarda che fai: temp = results. Per cui entrambi puntano allo > stesso oggetto. > me ne ero accorto :-( Chissà perché ero convinto che così facendo avrei copiato i valori dda una lista all'altra invece di farle puntare tutte allo stesso oggetto. In effetti non è un errore di python, ma di programmazione in generale (>_>) > Una nota stilistica: l'uso che fai della list comprehension è IMHO > sbagliato. Una list comprehension (pur essendo completamente generale) > tipicamente viene usata per generare un nuovo array. Ha insomma un > significato in cui il valore di ritorno della funzione ha *profondo* > significato (e spesso questo nuovo array viene manipolato in seguito). > > Tu invece la stai chiamando con un metodo che restituisce None. Il tuo > codice anche se funzionasse, sarebbe 'bruttino'. Riscriviamolo con un > for. > > for video in temp: > results.extend(self.parseUrl(vide)) > > il for è la prima cosa a cui penso (dopo anni di c, c++, java etc etc) ma mi "forzo" ad usare le list comprecose per impararle bene > Ti suggerisco di studiarti bene i fondamentali. > > Naaaa i "fondamentali" sono tutti i linguaggi che già conosco :-p
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python