在Python中有没有将IP地址转换为十进制数的函数?
有没有什么函数、接口或者方法可以把带点的IP地址字符串转换成十进制数字?
1 个回答
16
我不太确定你想要的十进制数字是什么,但你可以看看 socket.inet_aton
这个函数。它会给你一个字符串,里面是IP地址的二进制表示,按照网络字节顺序排列。如果你想把它转换成一个普通的整数,可以使用 struct.unpack
,根据你需要的字节顺序选择 "!I"
或 "I"
。
举个例子:
import socket, struct
print struct.unpack("!I", socket.inet_aton("127.0.0.1"))[0]
输出结果是: 2130706433
。