我将如何使用python将IP地址转换为str十进制数字,反之亦然?
str
例如,对于IP 186.99.109.000 <type'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'