原文链接:python int与ip互转_isoleo的博客-优快云博客_python int2ip
python怎样将一个整数与IP地址相互转换?
>>> import socket,struct
>>> int_ip = 123456789
>>> socket.inet_ntoa(struct.pack(‘I’,socket.htonl(int_ip)))#整数转换为ip地址
’7.91.205.21′
>>> str(socket.ntohl(struct.unpack(“I”,socket.inet_aton(“255.255.255.255″))[0]))#ip地址转换为整数
’4294967295′
实际上也就是进制数的转换
用lambda的方式,int2ip一行代码搞定
>>> int2ip = lambda x: '.'.join([str(x/(256**i)%256) for i in range(3,-1,-1)])
>>> int2ip(123456789)
’7.91.205.21′
用lambda的方式,ip2int
>>> ip2int = lambda x:sum([256**j*int(i) for j,i in enumerate(x.split('.')[::-1])])
>>> ip2int('7.91.205.21')
123456789