python ip地址转换成整数代码示例

发布时间:2020-10-30编辑:脚本学堂
python将IP地址转换成整数的一段代码,python实现IP地址格式转换的方法,一起学习下。

数据库存储IP地址时可以将ip地址转换成整数存储,整数占用空间小,索引也会比较方便。

python自定义一个ip转换成整数的函数,同时提供了整数转换成ip地址的方法。

代码:
 

复制代码 代码示例:

#!/usr/bin/env python
#

import socket, struct
 
def ip2long(ip):
    """
    Convert an IP string to long
    """
    packedIP = socket.inet_aton(ip)
    return struct.unpack("!L", packedIP)[0]

例如,www.plcxue.com ip地址为:116.255.236.107,使用以上ip2long转换函数:
 

print('www.plcxue.com ip address is %s'%ip2long('116.255.236.107'))

输出结果:
www.plcxue.com ip address is 1962929259

将整数转换成ip地址:
 

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

输出结果:
'127.0.0.1'