This module is available for backward compatibility only. If you are
writing code that does not need to work with versions of Python
earlier than Python 2.2, please consider subclassing directly from the
built-in list type.

Por lo que la mejor manera es hacer subclase.

Luego, ver lo que hace y como lo hace la biblioteca esa, el uso de
listas, si tiene su propia implementacion, es facilmente solucionable
con monky patching. Si hace uso de la lista nativa de python,
dependiendo de como inicializa tambien puede que tengas suerte.

Sin mas datos, creo que nadie va a poder darte una solucion aceptable...

Andrei.

El día 18 de septiembre de 2011 00:31, Nekmo <[email protected]> escribió:
> 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: [email protected]
> XMPP/Jabber: [email protected]
> Identi.ca: http://identi.ca/nekmo
> Diaspora: Nekmo
> Google+: Nekmo Com
>
>
>
> El día 17 de septiembre de 2011 21:48, Jose Caballero
> <[email protected]> escribió:
>>
>>
>> El 17 de septiembre de 2011 14:47, Oswaldo <[email protected]> escribió:
>>>
>>> El 17/09/2011 20:20, Jose Caballero escribió:
>>>>
>>>>
>>>> El 17 de septiembre de 2011 06:19, Oswaldo <[email protected]
>>>> <mailto:[email protected]>> 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
>> [email protected]
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
> _______________________________________________
> Python-es mailing list
> [email protected]
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>



-- 
http://twitter.com/andsux
http://www.niwi.be
****
http://www.freebsd.org/
http://www.postgresql.org/
http://www.python.org/
http://www.djangoproject.com/

"Linux is for people who hate Windows, BSD is for people who love UNIX"
"Social Engineer -> Because there is no patch for human stupidity"
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a