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@lists.python.it > http://lists.python.it/mailman/listinfo/python
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python