inet_aton and struct issue

Diez B. Roggisch deets at nospam.web.de
Wed Aug 30 17:33:18 EDT 2006


David Bear schrieb:
> I found this simple recipe for converting a dotted quad ip address to a
> string of a long int.
> 
> struct.unpack('L',socket.inet_aton(ip))[0]
> 
> trouble is when I use this, I get
> 
> struct.error: unpack str size does not match format
> 
> I thought ip addresses were unsigned 32 bit integers.
> 
> Is there a better way to take a dotted quad and convert it to a string
> representation of an long int?

Works for me:

 >>> import socket
 >>> import struct
 >>> ip = "127.0.0.1"
 >>> struct.unpack('L',socket.inet_aton(ip))[0]
2130706433L


Diez



More information about the Python-list mailing list