[PIPython] Percorsi dinamici.

Carlo C8E Miron carlo.miron
Lun 20 Giu 2005 11:59:45 CEST


Il 20/06/05, Enrico Gabubbi Manfredo<elinux a gabubbi.it> ha scritto:
> Alle 11:09, lunedì 20 giugno 2005, Carlo C8E Miron ha scritto:
> > Il 20/06/05, Enrico Gabubbi Manfredo<elinux a gabubbi.it> ha scritto:
> > > Magari sto facendo una domanda da newbbi, magari è impossibile.
> > > è possibile generare dei percorsi dinamici all'interno di funzioni?
> > > spiego meglio (con un esempio non funzionate.. ma cmq tanto per arrivare
> > > a capire
> > >
> > > percorso = "articoli"
> > >
> > > def function(self,  percorso):
> > >         self.percorso.GetValue()
> > >
> > >>> help(getattr)
> 
> Forse ho capito male, o male mi sono spiegato.
> 
> Io volevo semplifcare un codice che esegue una ventina di funzioni uguali...
> nelle quali cambia solo 'oggetto' a cui punta il percorso e poche altre cose.
> 
> Se io riesco a rendere dinamico il percorso posso racchiudere quelle venti
> funzioni in una sola... e poi chiamarla coi i parametri giusti. Con evidenti
> vantaggi
> 

dal tuo codice sembrerebbe che "percorso" rappresenti il nome di un
attributo della classe. e questo codice dovrebbe funzionare
(untested)::

>>> percorso = "articoli"
>>>
>>> class prova(object):
>>>     def function(self,  percorso):
>>>         getattr(self, percorso).GetValue()

qualora invece "percorso" si riferisca ad una catena di attributi tipo
"spam.eggs.ham", puoi usare iterativamente getattr() sui vari
".".split() di percorso.

oppure non ho capito nulla di quel che intendevi, nel qual caso scusa
di averti fatto perdere tempo :D

HAND,

(c)

-- 
Disclaimer:
If I receive a message from you, you are agreeing that:
1. I am by definition, "the intended recipient".
2. All information in the email is mine to do with as I see fit and
 make such financial profit, political mileage, or good joke as it
 lends itself to. In particular, I may quote it on USENET or the WWW.
3. I may take the contents as representing the views of your company.
4. This overrides any disclaimer or statement of confidentiality that
 may be included on your message.


More information about the Python mailing list