Re: [QGIS-it-user] loop tra i file di una cartella in uno script processing
Salve mi hanno fatto comodo le vostre osservazioni, in particolare che lo statement return provoca l'uscita da ogni loop. Ho risolto mettendo i risultati che uscivano ad ogni loop da processing.run('qgis:rastercalculator'... in una lista (myList) e alla fine return {self.OUTPUT: myList} Grazie Il giorno ven 11 feb 2022 alle ore 10:58 Marco Guiducci < marco.guidu...@regione.toscana.it> ha scritto: > Il 10/02/2022 18:26, Andrea Giudiceandrea ha scritto: > > Il 10/02/2022 12:25, Marco Guiducci ha scritto: > >> inizia con stampare sulla consolle i valori pathIn e della lista per > >> vedere se sono corretti > > > > Ciao Marco, > > credo che il tuo consiglio sia lo stesso che ho dato io. Ho capito male? > > > > > si, certo. non avevo visto la tua risposta. > > mg > ___ > QGIS-it-user mailing list > QGIS-it-user@lists.osgeo.org > https://lists.osgeo.org/mailman/listinfo/qgis-it-user > ___ QGIS-it-user mailing list QGIS-it-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/qgis-it-user
Re: [QGIS-it-user] loop tra i file di una cartella in uno script processing
Il 10/02/2022 18:26, Andrea Giudiceandrea ha scritto: Il 10/02/2022 12:25, Marco Guiducci ha scritto: inizia con stampare sulla consolle i valori pathIn e della lista per vedere se sono corretti Ciao Marco, credo che il tuo consiglio sia lo stesso che ho dato io. Ho capito male? si, certo. non avevo visto la tua risposta. mg ___ QGIS-it-user mailing list QGIS-it-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/qgis-it-user
Re: [QGIS-it-user] loop tra i file di una cartella in uno script processing
Ciao Marco ho fatto come mi dicevi la parte dello script incaricata di raccogliere i path di ingresso e di uscita funziona, il problema sta nel loop all'interno dei file raster in una cartella, che invece di prendere in considerazione tutti i file si ferma al primo. Se tolgo l'ultima riga ovvero return {self.FOLDER: outRas["OUTPUT"]} lo script prende in considerazione tutti i file, altrimenti si ferma al primo Non saprei Grazie Il giorno gio 10 feb 2022 alle ore 12:31 Marco Guiducci < marco.guidu...@regione.toscana.it> ha scritto: > Il 09/02/2022 19:05, Giacomo Fontanelli ha scritto: > > > > pathIn = self.parameterAsString(parameters, > > self.INPUT, > > context) > > > > > > > > quindi stavo pensando di fare un loop nei file della cartella stessa. > > > > for myFile in os.listdir(pathIn): > > #etc > > > > Il problema è che invece di fare il loop su tutti i file mi prende in > > considerazione solo l'ultimo della cartella. > > > > Dove sbaglio? > > > > grazie > > > > inizia con stampare sulla consolle i valori pathIn e della lista per > vedere se sono corretti > > prova anche a passare pathIn come testo (il nome della dir c:\myadir > o roba simile) per vedere se va. > > marcog > > > ___ > QGIS-it-user mailing list > QGIS-it-user@lists.osgeo.org > https://lists.osgeo.org/mailman/listinfo/qgis-it-user > ___ QGIS-it-user mailing list QGIS-it-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/qgis-it-user
Re: [QGIS-it-user] loop tra i file di una cartella in uno script processing
Il 09/02/2022 19:05, Giacomo Fontanelli ha scritto: pathIn = self.parameterAsString(parameters, self.INPUT, context) quindi stavo pensando di fare un loop nei file della cartella stessa. for myFile in os.listdir(pathIn): #etc Il problema è che invece di fare il loop su tutti i file mi prende in considerazione solo l'ultimo della cartella. Dove sbaglio? grazie inizia con stampare sulla consolle i valori pathIn e della lista per vedere se sono corretti prova anche a passare pathIn come testo (il nome della dir c:\myadir o roba simile) per vedere se va. marcog ___ QGIS-it-user mailing list QGIS-it-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/qgis-it-user
Re: [QGIS-it-user] loop tra i file di una cartella in uno script processing
Ciao Andrea ho fatto come dicevi il problema sta nel fatto che nonostante io creda di aver fornito il path di una cartella in verità mi viene riconosciuto solo l'ultimo file presente in questa. Ci devo lavorare. Grazie Il giorno mer 9 feb 2022 alle ore 20:53 Andrea Giudiceandrea < andreaer...@libero.it> ha scritto: > Ciao Giacomo, > hai verificato se la variabile pathIn contiene un path valido di una > cartella (e non di un file) prima dell'inizio del ciclo for? > > In questo caso, puoi provare che os.listdir funzioni correttamente > eseguendo nella console di Python: > > for myFile in os.listdir(folderpath): > print(myFile) > > Se tutto funziona come dovrebbe, allora probabilmente il problema è nel > codice interno al ciclo for. > > A presto. > > Andrea > > > Il 09/02/2022 19:05, Giacomo Fontanelli ha scritto: > > Salve a tutti > > Sto scrivendo uno script di processing che dovrebbe applicare la > > stessa operazione matematica a ogni raster che si trova in una > > qualsiasi cartella. > ___ > QGIS-it-user mailing list > QGIS-it-user@lists.osgeo.org > https://lists.osgeo.org/mailman/listinfo/qgis-it-user > ___ QGIS-it-user mailing list QGIS-it-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/qgis-it-user