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">&lt;<a href="mailto:turturici.valerio@gmail.com">turturici.valerio@gmail.com</a>&gt;</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&#39;è 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&#39;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&#39;errore che ottieni. Viene prima trovata la variabile d&#39;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&#39; <span dir="ltr">&lt;<a href="mailto:vittorio.zuccala@gmail.com" target="_blank">vittorio.zuccala@gmail.com</a>&gt;</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&#39;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: &#39;dict&#39; 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[&#39;email&#39;]={}<br>        self.conf[&#39;email&#39;][&#39;smtp&#39;] = self.config.get(&#39;email&#39;, &#39;smtp&#39;)<br>




        self.conf[&#39;email&#39;][&#39;da&#39;] = self.config.get(&#39;email&#39;, &#39;da&#39;)<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[&#39;email&#39;][&#39;da&#39;]<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>