美文网首页
Python如何实现整数与IP地址转换

Python如何实现整数与IP地址转换

作者: Yvanna_15 | 来源:发表于2018-09-08 16:27 被阅读451次

    将字符串型的IP地址(XXX.XXX.XXX.XXX)存入数据库中即浪费空间又影响性能,所以数据库中有时会将IP地址转换为整型存储,也就是IP地址的网络字节序格式。在测试时从数据库查到整型的网络字节序,需要再转回字符串型IP地址,可以通过Python代码轻松解决这个问题。如下:

    >>> import socket     # 导入相关模块包
    >>> import struct     # 导入相关模块包
    >>> int(socket.inet_aton('192.168.200.106').encode('hex'), 16)    # 将IP从字符串转为整型
    3232286826L
    >>> int(socket.inet_aton('192.168.20.135').encode('hex'), 16)
    3232240775L
    >>> socket.inet_ntoa(struct.pack("!I",2130706433))   # 将IP从整型转为字符串
    '127.0.0.1'
    >>> socket.inet_ntoa(struct.pack("!I",3232286735))
    '192.168.200.15'
    >>> socket.inet_ntoa(struct.pack("!I",2893810498))
    '172.124.11.66'
    

    相关文章

      网友评论

          本文标题:Python如何实现整数与IP地址转换

          本文链接:https://www.haomeiwen.com/subject/wmxmwftx.html