[Gfoss] pyqgis: layer.getFeatures()

Matteo De Stefano matteo_destefano a yahoo.it
Ven 18 Apr 2014 22:54:47 CEST


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 <giulianc51 a gmail.com>
A: lista Gfoss <gfoss a lists.gfoss.it> 
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

_______________________________________________
Gfoss a lists.gfoss.it
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
-------------- parte successiva --------------
Un allegato HTML ? stato rimosso...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20140418/12be090b/attachment-0001.html>


Maggiori informazioni sulla lista Gfoss