al.alex...@gmail.com writes: > Just for the records and to have a fully working bidirectional solution: > > >>> ip > '10.44.32.0' > >>> struct.unpack('L', socket.inet_aton(ip))[0] > 2108426 > >>> socket.inet_ntoa(struct.pack('<L', 2108426)) > '10.44.32.0' > >>> > > Good luck ;-)
This will not work as expected on a big-endian machine, because 'L' means _native_ byte order, but '<L' means little-endian byte order. Better to use exactly the same format argument for both packing and unpacking. I would use '!L' for both, since inet_ntoa and inet_aton are defined to work with IPv4 addresses in _network_ byte order. -- Alan Bawden -- https://mail.python.org/mailman/listinfo/python-list