Il 16/04/07, fabio fossati<[EMAIL PROTECTED]> ha scritto:

Il problema è il seguente, io apro un file di testo in cui sono contenuti
numeri in virgola mobile (float). Ovviamente nel file questi numeri sono
memorizzati come stringhe. Il mio scopo è di convertire ciascuna stringa in
un numero float, memorizzandoli in una lista (myList).

Dunque... lasciando perdere il resto del tuo messaggio (perché non ho
capito al 100% i problemi che ti sei posto), partiamo dall'analisi del
problema.

Tu hai un file chiamato mapping.txt in cui sono contenute delle
stringhe che rappresentano dei numeri float. Ogni stringa sarà
separata da un'altra da un certo carattere, che io suppongo possa
essere, ad esempio, il return. Se il carattere separatore è un altro
si può fare comunque, modificando leggermente il programma.

Il codice è semplicemente questo:

f = open("/tmp/mapping.txt", "rb")
my_list = [float(line) for line in f]

Se le linee sono 'impure' e non riesci a convertirle al volo, dovrai
ideare qualche sistema di 'filtraggio' per eliminare i caratteri che
avanzano. Se il file è abbastanza piccolo comunque puoi
tranquillamente caricarlo tutto in memoria e usare il metodo split()
delle stringhe, passando il carattere separatore, per crearti una
lista al volo.



--
Alan Franzoni <[EMAIL PROTECTED]>
-
GPG Key Fingerprint:
5C77 9DC3 BD5B 3A28 E7BC 921A 0255 42AA FE06 8F3E
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a