[Python] Funzioni come moduli
Leonardo
learts92 a gmail.com
Lun 30 Giu 2008 19:59:31 CEST
> Mi sembra di capire che tu fai execfile per sfruttare gli effetti secondari
> delle istruzioni eseguite. Se posso, ti suggerisco di creare dei moduli
> plugin che definiscano unicamente una funzione. Puoi "caricare" tutti i
> plugin all'avvio del programma o ad un certo evento e poi usare le funzioni
> dove servono.
>
> Puoi definire ad esempio che ogni plugin debba esportare una funzione
> handle_<qualcosa> con una signature prefissata - diciamo (self,
> server_response). All'atto di caricare i plugin puoi fare (untested, e
> senza error handling):
>
> env = {}
> execfile(my_file, env)
>
> for k, v in env.iteritems():
> if k.startswith('handle_'):
> register_plugin(v)
> break
> else:
> complain("no plugin in this file")
Non ho ben capito.
Scusate la mia niubbagine, ma sono da pochi mesu su python ed è il primo
linguaggio che "studio".
Mi stai dicendo di creare un'unica funzione all'interno di ogni modulo e
importare tutti i moduli all'avvio, dopodichè chiamare la funzione
anzichè il modulo? e cosa dovrei passare all'argomento self della
funzione? Un'istanza di Rule?
Andrei in perdita dal punto di vista delle prestazioni facendo così?
> Se i plugin hanno la possibilita' di poter intervenire in diverse fasi del
> tuo processo, potresti definire una classe BasePlugin fornita dei diversi
> hook e implementare gli hook desiderati in ogni plugin.
Questa frase non l'ho capita proprio del tutto..
Scusa ancora per la mia niubbagine, grazie per le risposte
Maggiori informazioni sulla lista
Python