On 17/09/21 17:06, Valerio Pachera wrote:
Il caso simil reale è questo

ho una funzione che legge un file, e potrei ritornare una grande lista.
Al posto di ritornare la lista, faccio lo yield del dato estratto, al
fine di risparmiare RAM.

def parsefile(path):
     # tante belle cose
     yield x

Ho poi altre due funzioni che generano delle stringhe.
Come argomento potrei passare il listone, ma passo l'iteratore


data = parsefile(path):

def tampastinga1(data):
      # prendi il necessario da data
      return stinga

def stampastringa2(data):
     # prendi il necessario da data
     return stringa

Ebbene, la seconda funzione non ritorna nulla.

"al fine di risparmiare RAM" è proprio il motivo per cui quei dati una volta consumati non sono più disponibili. Se devi ripassarci ti tocca metterli da qualche parte :)


--
Riccardo Magliocchetti
@rmistaken

http://menodizero.it
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a