如果你的意思是将一个 IP 地址字符串转换成整数类型的 IP 地址,可以使用 Python 内置的
socket
模块。
下面是一个将 IP 地址转换成整数类型的 Python 函数示例:
import socket
def ip_to_int(ip: str) -> int:
return int.from_bytes(socket.inet_aton(ip), byteorder='big')
ip_address = '192.168.0.1'
ip_integer = ip_to_int(ip_address)
print(ip_integer) # 输出 3232235521
其中,inet_aton()
方法将 IP 地址字符串转换为 4 字节二进制形式,int.from_bytes()
方法将二进制转换成整数,byteorder='big'
表示使用大端序方式进行转换。
如果你想将整数类型的 IP 地址转换成字符串类型,可以使用 socket.inet_ntoa()
方法,如下所示:
import socket
def int_to_ip(ip_int: int) -> str:
return socket.inet_ntoa(ip_int.to_bytes(4, byteorder='big'))
ip_integer = 3232235521
ip_address = int_to_ip(ip_integer)
print(ip_address) # 输出 '192.168.0.1'
其中,int.to_bytes()
方法将整数转换为 4 字节二进制形式,socket.inet_ntoa()
方法将二进制形式转换成 IP 地址字符串。