Python 下的 ip2long 和 long2ip

PHP 提供了 ip2long 和 long2ip 两个函数,实现了 IP 字符串与其对应整型值之间的转换。而在 Python 中没有类似的函数,所以自己实现了一下,很简单:

import socket
import struct

def ip2long(ipstr):
    return struct.unpack("!I", socket.inet_aton(ipstr))[0]

def long2ip(ip):
    return socket.inet_ntoa(struct.pack("!I", ip))

测试:

>>> ip2long(‘127.0.0.1’)
2130706433
>>> long2ip(2130706433)
‘127.0.0.1’

— EOF —

发表评论

电子邮件地址不会被公开。 必填项已用*标注