[pyar] Averiguar el tipo de objeto en caliente

Milton Labanda 1000ton.lab en gmail.com
Vie Ago 24 12:34:00 ART 2012


Gracias por todos sus aportes, finalmente lo solución con la primera opción
de Mauro,
probé las otras opciones pero siempre me daba *instance* . Entonces
pregunté si el objeto tiene
un atributo de listas o un atributo que el objeto debe tener cuando es un
dict.

El 24 de agosto de 2012 08:29, Mauro Caceres <mauro.caceres en gmail.com>escribió:

> En principio resulta extraño que una interfaz te retorne un
> diccionario o una lista!. Tiene que haber algo en el request o en la
> respuesta que te diga que cambia.
>
> Mas alla de eso, otra alternativa al isinstance es usar un poco de
> ducktyping y en lugar de preocuparte por el tipo del objeto, ver si
> puede cumplir con las operaciones que necesitas para extraer la
> informacion.
>
> Esto lo podes hacer con hasattr o manejando la excepcion TypeError
>
>
> if hasattr(datos, "keys"):
>      print "USANDO UN DICT"
> else
>      print "USANDO UNA LIST"
>
> o
>
> try:
>      value = datos[member]
> except TypeError:
>     # do something else
>
> Saludos
>
> 2012/8/24 Martin Alderete <malderete en gmail.com>:
> > Buenas! como estas?
> >
> > 2012/8/24 Milton Labanda <1000ton.lab en gmail.com>
> >>
> >> Hola amigos sucede que estoy usando el WebService wspp OK instalado en
> >> moodle
> >> con los clientes en python. y entonces cuando llamo a un metodo de ese
> >> webservice
> >> me devuelve siempre un SOAPpy.Types.structuredSOAPpy , luedo de eso
> objeto
> >> quiero recuperar un objeto que a veces es un diccionario y en otras es
> una
> >> lista,
> >> y ya he preguntado que tipo tiene y siempre me dice instance de aunque
> >> despues
> >> ya se convierten en lo que realmente son diccionario o lista. Como puedo
> >> averiguar el
> >> tipo antes de que usarlo?
> >>
> >
> > SI no entiendo mal, lo podes solucionar con "isinstance()"
> >
> > if isinstance(datos, list):
> >      print "USANDO UNA LISTA"
> > elif isinstance(datos, dict):
> >      print "USANDO UN DICT"
> >
> >
> > Espero te sirva,
> >
> > saludos!
> >
> >
> >
> > --
> > Alderete, Martin Nicolas
> > NINJA-IDE Core Developer
> >
> > _______________________________________________
> > pyar mailing list pyar en python.org.ar
> > http://listas.python.org.ar/listinfo/pyar
> >
> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >
> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> > Argentina - http://www.usla.org.ar
>
>
>
> --
> Mauro Cáceres
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>



-- 
/\/\;/-----------------------------------------------------
Milton  Labanda  [miltonlab]
Distro:        Debian GNU/Linux 6.0 Squeeze
Blog:          http://1000tonlab.wordpress.com
jabber:        miltonlab en jabber.org <milotnlab en jabber.org>
"... Solamente la libertad que se somete a la Verdad conduce a la persona
humana a su  verdadero bien...".  Karol Wojtyla
(:\ Usa Software Legal, usa Software Libre /:)
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120824/50d707b3/attachment.html>


More information about the pyar mailing list