将IP字符串转换为数字,反之亦然

我将如何使用python将IP地址转换为str十进制数字,反之亦然?

例如,对于IP 186.99.109.000 <type'str'>,我想使用易于存储在数据库中的十进制或二进制形式,然后检索它。

回答:

将IP字符串转换为长整数:

import socket, struct

def ip2long(ip):

"""

Convert an IP string to long

"""

packedIP = socket.inet_aton(ip)

return struct.unpack("!L", packedIP)[0]

另一种方式:

>>> socket.inet_ntoa(struct.pack('!L', 2130706433))

'127.0.0.1'

以上是 将IP字符串转换为数字,反之亦然 的全部内容, 来源链接: utcz.com/qa/406939.html

回到顶部