Ciao,
azzardo una risposta:
credo che sia semplicemente per il fatto che layer.getfFeatures() restituisce
un oggetto di tipo "iterator". Gli oggetti iterator si comportano in modo
particolare, e all'interno di un ciclo for tutti gli elementi vengono elaborati
in modo automatico. Credo che sia questo il motivo del comportamento che hai
osservato.
Ti aggiungo un link che descrive gli iterator:
http://stackoverflow.com/questions/9884132/understanding-pythons-iterator-iterable-and-iteration-protocols-what-exact
Matteo
________________________________
Da: giulianc51 <[email protected]>
A: lista Gfoss <[email protected]>
Inviato: Venerdì 18 Aprile 2014 19:23
Oggetto: [Gfoss] pyqgis: layer.getFeatures()
ciao a tutti,
provo a porre quì un quesito che riguarda (py)qgis;
volevo prevedere in un plugin, durante il trattamento di layer di
dimensione importante, la stampa di un contatore per dare all'utente il
senso dell'esecuzione in corso, a mò di progress bar; mi scontro però
con un comportamento, per me inatteso, del comando in oggetto;
mi aspettavo dall'esecuzione dei comandi (verificabile anche da console
python):
i = 0
for f in layer.getFeatures():
i +=1
print i
una visualizzazione progressiva (ho controllato di non aver posto una
virgola in fondo al comando print); invece sembra che il ciclo FOR
catturi il sistema e solo alla fine vi è la stampa quasi immediata di
tutta la sequenza;
sto sbagliando qualcosa senza accorgermene ?
grazie, ciao,
giuliano
_______________________________________________
[email protected]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni
dell'Associazione GFOSS.it.
666 iscritti al 22.7.2013
_______________________________________________
[email protected]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni
dell'Associazione GFOSS.it.
666 iscritti al 22.7.2013