我正在使用python,我需要确定字符串表示中给定IP地址的版本。我需要多次重复这个,所以我想尽快做到这一点(即不创建IpAddress对象并使用.version)。
我知道给定的字符串有效并代表IP地址。
现在我正在考虑:
if ipstring[1] == '.' or ipstring[2] == '.' or ipstring[3] == '.':
version = 4
else:
version = 6
我有什么更快的方式可以俯视吗?一旦IPv6变得越来越普遍,我可以先转向检查v6:
if ipstring[1] == ':' or ipstring[2] == ':':
version = 6
else:
version = 4
除此处列出的方法之外还有其他快速方法吗?
答案 0 :(得分:1)
由于不同版本的IP地址在其表示中使用不同的分隔符(即"."
和":"
),并且您确定字符串代表有效地址,您可以这样做:
if "." in ipstring:
version = 4
else:
version = 6