xdrlib duda con entero con signo
Chema Cortes
pych3m4 en gmail.com
Sab Abr 26 04:13:20 CEST 2008
El día 24 de abril de 2008 18:47, Milton Galo Patricio Inostroza
Aguilera <minoztro en gmail.com> escribió:
> Estoy utilizando la libreria xdrib para comunicar python con java {a
> traves de un socket}. me encuentro con la sorpresa que al hacer lo
> siguiente me arroja un warning:
>
> >>> import xdrlib
> >>> p = xdrlib.Packer()
> >>> p.pack_int(-1)
> /usr/lib/python2.5/xdrlib.py:54: DeprecationWarning: struct integer
> overflow masking is deprecated
> self.__buf.write(struct.pack('>L', x))
>
> , luego recojo el resultado:
>
> >>> u = xdrlib.Unpacker(p.get_buffer())
> >>> u.unpack_int()
> -1
>
> y todo funciona bien, pero obviamente estoy con problemas ya que esta
> forma como lo estoy haciendo esta en desuso, que tipo de datos debo
> poner para poder enviar un entero negativo?..en la documentacion no vi
> mucho, y en el codigo fuente tampoco, saludos
No es algo que estés haciendo mal. Parece que el módulo 'xdrlib' no
distingue entre empaquetar enteros con y sin signo
(pack_int==pack_uint). El módulo 'struct' se queja por la posibilidad
de estar truncando el argumento. Por lo que veo, el módulo xdrlib debe
ser revisado para poder trabajar en 64bits.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es