<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
fabio fossati ha scritto:
<blockquote cite="mid563310.63167.qm@web26707.mail.ukl.yahoo.com"
 type="cite">
  <style type="text/css"><!-- DIV {margin:0px;} --></style>
  <div
 style="font-family: verdana,helvetica,sans-serif; font-size: 10pt;">
  <div>Scusate se posto l'intero programma, ma sto diventando pazzo per
cercare di capire perch&egrave; ad un certo pto il mio programma python mi da
un TypeError.<br>
Il programma &egrave; il seguente:<br>
  <br>
  <br style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">from
Numeric import *</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">from
string import *</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">import
os</span><br style="font-family: courier,monaco,monospace,sans-serif;">
  <br style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">def
Convert_value(input_file):</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
number = input_file.readlines()</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
number.sort()</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
temp = []</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
try:</span><br style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
for i in range(len(number)):&nbsp;&nbsp; ###&nbsp; L'ERRORE SI VERIFICA QUI!!!!</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
temp.append(float(number[i]))</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
except TypeError:&nbsp; </span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
print "Errore"</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
return temp</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <br style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">def
Create_file_out(lista,output_file,min,max,range):</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
i=0</span><br style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
printed=1</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
count=0</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
while(i &lt; len(lista) and min &lt; max):</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if(printed):</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
output_file.write('range\t'+str(min)+'-'+str(min+range)+'\n\n')</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if(min &lt;= lista[i] &lt;= min+range ):</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
temp=(str(lista[i]))</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
output_file.write(str(temp)+'\n')</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
i=i+1</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
count=count+1</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
printed=0</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
else:</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
output_file.write('#totale elementi range '+str(count)+'\n')</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
min&nbsp; = min+range</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
count=0</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
printed=1</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <br style="font-family: courier,monaco,monospace,sans-serif;">
  <br style="font-family: courier,monaco,monospace,sans-serif;">
  <br style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">lista_file=os.listdir("./input_file")</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <br style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">for j
in range(len(lista_file)):</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
try:</span><br style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
input_file = open("./input_file/"+lista_file[j],"r")</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
except IOError:</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
print "file "+lista_file[j]+" non esiste"</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
float_number=Convert_value(input_file)</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
input_file.close()</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
print "Viene creato il file di output per il file "+lista_file[j]+"
preso come input"</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
try:</span><br style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
min = float(raw_input("Inserire il valore minimo: "))</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
max = float(raw_input("Inserire il valore massimo: "))</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
range = float(raw_input("Inserire il range desiderato: "))</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
except ValueError:</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
print "Non e'stato inserito un numero valido."</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
output_file=open(lista_file[j]+"_out.txt","a")</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
Create_file_out(float_number,output_file,min,max,range)</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
output_file.close()</span><br>
  <br>
  <br>
Quello che fa questo programma &egrave; 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.<br>
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:<br>
  <br>
  <br>
  <span style="font-family: courier,monaco,monospace,sans-serif;">Traceback
(most recent call last):</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;
File "/home/fabio/aggiusta dati/data.py", line 44, in ?</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
float_number=Convert_value(input_file)</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;
File "/home/fabio/aggiusta dati/data.py", line 10, in Convert_value</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
for i in range(len(number)):</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <span style="font-family: courier,monaco,monospace,sans-serif;">TypeError:
'float' object is not callable</span><br
 style="font-family: courier,monaco,monospace,sans-serif;">
  <br>
  <br>
I file che mando in input contengono un numero variabile di numeri
float ovviamente espressi, nel file, come stringhe.<br>
  </div>
  </div>
</blockquote>
puoi fare un esempio del contenuto del file <span class="moz-smiley-s1"><span>
:-) </span></span><br>
<blockquote cite="mid563310.63167.qm@web26707.mail.ukl.yahoo.com"
 type="cite">
  <div
 style="font-family: verdana,helvetica,sans-serif; font-size: 10pt;">
  <div><br>
Vi prego aiutatemi, nn so dove sbattere la testa.<br>
  <br>
P.s. ho usato un debugger ma i valori i tipi ecc ... sono tutti quelli
che mi aspetto e sono corretti.<br>
  <br>
  <br>
Grazie.<br>
  <br>
Fabio<br style="font-family: courier,monaco,monospace,sans-serif;">
  </div>
  </div>
</blockquote>
ciao Loris<br>
<blockquote cite="mid563310.63167.qm@web26707.mail.ukl.yahoo.com"
 type="cite"><br>
  <hr size="1">
  <hr size="1"><font face="Arial" size="2"><font face="Arial" size="2">L'email
della prossima generazione? Puoi averla con la <a
 href="http://us.rd.yahoo.com/mail/it/taglines/hotmail/nowyoucan/nextgen/*http://it.docs.yahoo.com/nowyoucan.html">nuova
Yahoo! Mail</a></font></font>
  <pre wrap=""><font face="Arial" size="2">
</font><hr size="4" width="90%"><font face="Arial" size="2">
_______________________________________________
Python mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Python@lists.python.it">Python@lists.python.it</a>
<a class="moz-txt-link-freetext" href="http://lists.python.it/mailman/listinfo/python">http://lists.python.it/mailman/listinfo/python</a>
</font></pre>
</blockquote>
<br>
</body>
</html>