Grazie a tutti,<br>non pensavo fosse una banalità simile.<br>Ottimo il consiglio delle maiuscole nelle classi.<br><br>@Valerio, permettiti pure: come dicevo sono alle prime armi con la programmazione ad oggetti per cui i consigli sono graditi<br>
<br>Buona giornata,<br>Vittorio<br><br><br><div class="gmail_quote">Il giorno 26 maggio 2010 18.07, Valerio Turturici <span dir="ltr"><<a href="mailto:turturici.valerio@gmail.com">turturici.valerio@gmail.com</a>></span> ha scritto:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">C'è un pò di casino. Allora, mi permetto di fare qualche appunto:<br><br>i nomi delle classi iniziano con una lettera grande ed è preferibile dare dei nomi chiari<br>
l'import lo puoi fare benissimo fuori dalla classe<br>
hai due attributi conf: una variabile di istanza e un metodo. Questo non va bene, da qui l'errore che ottieni. Viene prima trovata la variabile d'istanza (che è un dizionario), ma appena provi a chiamarla come se fosse un metodo ottieni un errore.<br>
anche se usi la notazione punto nella chiamata alla classe, nel file principale chiami una variabile come la classe, il che sarebbe da evitare.<br>infine stessa raccomandazione per i nomi di variabile: cerca di mettere nomi autoesplicativi. Aiuta te e chi leggerà il tuo codice ;)<br>
<br>Ciao.<br><br><br><br><br><div class="gmail_quote">Il giorno 26 maggio 2010 17.57, Vittorio Zuccala' <span dir="ltr"><<a href="mailto:vittorio.zuccala@gmail.com" target="_blank">vittorio.zuccala@gmail.com</a>></span> ha scritto:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><div></div><div class="h5">Buongiorno a tutti, <br>sono abbastanza nuovo nella programmazione ad oggetti ma sto cercando di creare un piccolo oggettino per agevolarmi in un programma...<br>
Esso deve leggere un file di configurazione, recuperare delle informazioni e, nella mia intenzione, restituire un dizionario con l'elenco di ciò che ha rilevato.<br>
Mi sapete dire in cosa sbaglio?<br>Il messaggio che ho quando lancio lo script è il seguente: <br><b><br></b><div style="margin-left: 40px;"><b>config=cnf.conf() </b><br><b>TypeError: 'dict' object not callable.</b><br>
</div><br><br>CODICE<br>-----------<br>FILE rilevaConfigurazione<br>********************************<br><br>class cnf:<br> def __init__(self,configurazione):<br> from ConfigParser import ConfigParser<br><br> self.config_filename = configurazione<br>
self.config = ConfigParser()<br> self.config.read([self.config_filename])<br> self.conf={}<br> self.conf['email']={}<br> self.conf['email']['smtp'] = self.config.get('email', 'smtp')<br>
self.conf['email']['da'] = self.config.get('email', 'da')<br> <br> <br> def conf(self): <br> return self.conf<br><br><br>FILE principale<br>
*******************<br>import rilevaConfigurazione # modulo che accorpa tutta la configurazione<br>cnf=rilevaConfigurazione.cnf(configurazione)<br>config=cnf.conf()<br><br>print config['email']['da']<br>
<br>
<br>
<br></div></div><div class="im">_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
<br></div></blockquote></div><br>
</blockquote></div><br>