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.

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




      ___________________________________ 
L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail: 
http://it.docs.yahoo.com/nowyoucan.html
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a