tengo un pequeño problema con mi secuencia de comandos, donde tengo que convertir la dirección IP en el formulario 'xxx.xxx.xxx.xxx' a la representación entera y volver desde este formulario.Conversión de cadena IP a entero, y hacia atrás en Python
def iptoint(ip):
return int(socket.inet_aton(ip).encode('hex'),16)
def inttoip(ip):
return socket.inet_ntoa(hex(ip)[2:].decode('hex'))
In [65]: inttoip(iptoint('192.168.1.1'))
Out[65]: '192.168.1.1'
In [66]: inttoip(iptoint('4.1.75.131'))
---------------------------------------------------------------------------
error Traceback (most recent call last)
/home/thc/<ipython console> in <module>()
/home/thc/<ipython console> in inttoip(ip)
error: packed IP wrong length for inet_ntoa`
¿Alguien sabe cómo solucionar eso?
No funciona en absoluto en mi Python 2.6.6: 'inttoip' genera un' TypeError: cadena de longitud impar '. – Ilkka
@Ilkka use socket.inet_ntoa (hex (ip) [2:]. Decode ('hex')) para inttoip –