[Python] Creazione modulo

Valerio Turturici turturici.valerio a gmail.com
Mer 26 Maggio 2010 18:07:14 CEST


C'è un pò di casino. Allora, mi permetto di fare qualche appunto:

i nomi delle classi iniziano con una lettera grande ed è preferibile dare
dei nomi chiari
l'import lo puoi fare benissimo fuori dalla classe
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.
anche se usi la notazione punto nella chiamata alla classe, nel file
principale chiami una variabile come la classe, il che sarebbe da evitare.
infine stessa raccomandazione per i nomi di variabile: cerca di mettere nomi
autoesplicativi. Aiuta te e chi leggerà il tuo codice ;)

Ciao.




Il giorno 26 maggio 2010 17.57, Vittorio Zuccala' <
vittorio.zuccala a gmail.com> ha scritto:

> Buongiorno a tutti,
> sono abbastanza nuovo nella programmazione ad oggetti ma sto cercando di
> creare un piccolo oggettino per agevolarmi in un programma...
> 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.
> Mi sapete dire in cosa sbaglio?
> Il messaggio che ho quando lancio lo script è il seguente:
> *
> *
> *config=cnf.conf() *
> *TypeError: 'dict' object not callable.*
>
>
> CODICE
> -----------
> FILE rilevaConfigurazione
> ********************************
>
> class cnf:
>     def __init__(self,configurazione):
>         from ConfigParser import ConfigParser
>
>         self.config_filename = configurazione
>         self.config = ConfigParser()
>         self.config.read([self.config_filename])
>         self.conf={}
>         self.conf['email']={}
>         self.conf['email']['smtp'] = self.config.get('email', 'smtp')
>         self.conf['email']['da'] = self.config.get('email', 'da')
>
>
>     def conf(self):
>         return self.conf
>
>
> FILE principale
> *******************
> import rilevaConfigurazione        # modulo che accorpa tutta la
> configurazione
> cnf=rilevaConfigurazione.cnf(configurazione)
> config=cnf.conf()
>
> print config['email']['da']
>
>
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20100526/8640e788/attachment.htm 


Maggiori informazioni sulla lista Python