[Python] Problema: TypeError!!!

orcimL orcimL a gmail.com
Ven 20 Apr 2007 12:19:31 CEST


fabio fossati ha scritto:
> Scusate se posto l'intero programma, ma sto diventando pazzo per
> cercare di capire perchè ad un certo pto il mio programma python mi da
> un TypeError.
> Il programma è il seguente:
>
>
> from Numeric import *
> from string import *
> import os
>
> def Convert_value(input_file):
>     number = input_file.readlines()
>     number.sort()
>     temp = []
>     try:
>         for i in range(len(number)):   ###  L'ERRORE SI VERIFICA QUI!!!!
>             temp.append(float(number[i]))
>     except TypeError: 
>         print "Errore"
>     return temp
>
> def Create_file_out(lista,output_file,min,max,range):
>     i=0
>     printed=1
>     count=0
>     while(i < len(lista) and min < max):
>         if(printed):
>            
> output_file.write('range\t'+str(min)+'-'+str(min+range)+'\n\n')
>         if(min <= lista[i] <= min+range ):
>             temp=(str(lista[i]))
>             output_file.write(str(temp)+'\n')
>             i=i+1
>             count=count+1
>             printed=0
>         else:
>             output_file.write('#totale elementi range '+str(count)+'\n')
>             min  = min+range
>             count=0
>             printed=1
>
>
>
> lista_file=os.listdir("./input_file")
>
> for j in range(len(lista_file)):
>     try:
>         input_file = open("./input_file/"+lista_file[j],"r")
>     except IOError:
>         print "file "+lista_file[j]+" non esiste"
>     float_number=Convert_value(input_file)
>     input_file.close()
>     print "Viene creato il file di output per il file
> "+lista_file[j]+" preso come input"
>     try:
>         min = float(raw_input("Inserire il valore minimo: "))
>         max = float(raw_input("Inserire il valore massimo: "))
>         range = float(raw_input("Inserire il range desiderato: "))
>     except ValueError:
>         print "Non e'stato inserito un numero valido."
>     output_file=open(lista_file[j]+"_out.txt","a")
>     Create_file_out(float_number,output_file,min,max,range)
>     output_file.close()
>
>
> Quello che fa questo programma è prendere tutti i file che sono
> contenuti in una cartella di input, convertire il contenuto dei file
> da stringhe a float, ordinarli e contarli per intervallo di range.
> Dove segnalo il problema accade che per il primo file che viene preso
> in considerazione dal programma, non entro nel blocco "except" quindi
> nn mi da errore; per il successivo file, qualunque esso sia, riporta
> il seguente errore per la riga da me segnalata:
>
>
> Traceback (most recent call last):
>   File "/home/fabio/aggiusta dati/data.py", line 44, in ?
>     float_number=Convert_value(input_file)
>   File "/home/fabio/aggiusta dati/data.py", line 10, in Convert_value
>     for i in range(len(number)):
> TypeError: 'float' object is not callable
>
>
> I file che mando in input contengono un numero variabile di numeri
> float ovviamente espressi, nel file, come stringhe.
puoi fare un esempio del contenuto del file :-)
>
> Vi prego aiutatemi, nn so dove sbattere la testa.
>
> P.s. ho usato un debugger ma i valori i tipi ecc ... sono tutti quelli
> che mi aspetto e sono corretti.
>
>
> Grazie.
>
> Fabio
ciao Loris
>
> ------------------------------------------------------------------------
> ------------------------------------------------------------------------
> L'email della prossima generazione? Puoi averla con la nuova Yahoo!
> Mail
> <http://us.rd.yahoo.com/mail/it/taglines/hotmail/nowyoucan/nextgen/*http://it.docs.yahoo.com/nowyoucan.html>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python

-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20070420/dbaf1966/attachment.html


Maggiori informazioni sulla lista Python