[Python-es] Hackear objeto list
Nekmo
contacto en nekmo.com
Dom Sep 18 00:31:10 CEST 2011
Para este tipo de cosas está la clase UserList:
http://docs.python.org/library/userdict.html?highlight=userlist#UserList.UserList
La cual para compatibilidad con Python 3.x, yo importo así:
import sys
if sys.version_info < (3,0):
from UserDict import UserDict
from UserList import UserList
else:
from collections import UserDict, UserList
Un cordial saludo:
-- Nekmo.
Sitio web: http://nekmo.com
Dirección de contacto: contacto en nekmo.com
XMPP/Jabber: contacto en nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo
Google+: Nekmo Com
El día 17 de septiembre de 2011 21:48, Jose Caballero
<jcaballero.hep en gmail.com> escribió:
>
>
> El 17 de septiembre de 2011 14:47, Oswaldo <listas en soft-com.es> escribió:
>>
>> El 17/09/2011 20:20, Jose Caballero escribió:
>>>
>>>
>>> El 17 de septiembre de 2011 06:19, Oswaldo <listas en soft-com.es
>>> <mailto:listas en soft-com.es>> escribió:
>>>
>>> Hola,
>>>
>>> Tengo un objeto 'list' que es creado por una librería externa sobre
>>> el que me gustaría modificar el método 'append'.
>>>
>>>
>>>
>>>
>>> class List(list):
>>> def append(self, value):
>>> super(List, self).append(value)
>>> print 'append ', value
>>>
>>>
>>
>> Gracias por responder, pero como ya comentaba esta solución no me vale ya
>> que al intentar sustituir la lista original con una instancia de esta clase
>> genera un error:
>>
>> L = List()
>> >>> libr.lista = L
>> Traceback (most recent call last):
>> File "<input>", line 1, in <module>
>> TypeError: readonly attribute
>>
>
>
>
> quizas si nos muestras el codigo de libr podemos ayudar mejor.
> Tienes sobreescrito __setattr__?
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
Más información sobre la lista de distribución Python-es