删除IP地址中不必要的零:

100.020.003.400  ->  100.20.3.400
001.200.000.004  ->  1.200.0.4
000.002.300.000  ->  0.2.300.0   (optional silly test)

我的尝试并非在所有情况下都奏效:
import re
ip = re.sub('[.]0+', '.', ip_with_zeroes)

有类似的问题,但对于其他语言:
Perl
SQL
请提供Python v2和v3的解决方案。

最佳答案

使用netaddr library然后它有ZEROFILL标志:

import netaddr

ip = "055.023.156.008"

no_zero_ip = netaddr.IPAddress(ip, flags=netaddr.ZEROFILL).ipv4()

# IPAddress('55.23.156.8')

如果您不希望no_zero_ip类型

10-06 05:17