如何使用python向ip地址添加前导零

如何使用python向ip地址添加前导零,python,string,Python,String,如何使用python将零添加到ip地址每个字节的前导部分,以便每个字节始终采用3位格式。 输入和输出应该是 1.2.3.4 ==>> 001.002.003.004 1.192.122.5 ==>> 001.192.122.005 192.168.1.1 ==>> 192.168.001.001 您可以使用以下选项: ip = '1.2.3.4' '.'.join(i.zfill(3) for i in ip.split('.')) '001.00

如何使用python将零添加到ip地址每个字节的前导部分,以便每个字节始终采用3位格式。 输入和输出应该是

1.2.3.4     ==>> 001.002.003.004
1.192.122.5 ==>> 001.192.122.005
192.168.1.1 ==>> 192.168.001.001
您可以使用以下选项:

ip = '1.2.3.4'
'.'.join(i.zfill(3) for i in ip.split('.'))

'001.002.003.004'
您可以使用
zfill()

def addZeros(ip,zero\u num=3):
零件=ip分割(“.”)
零件=[零件中零件的零件.zfill(零_num)]
返回“.”。联接(部件)
打印(添加零('1.2.3.4'))
# 001.002.003.004
您可以这样做:

ip = '1.2.3.4'
print('.'.join([(3 - len(i)) * '0' + i for i in ip.split('.')]))
输出:

001.002.003.004

您可以使用格式正确的f字符串:

ip = '.'.join(f'{int(n):03d}' for n in ip.split('.'))

你的输入变量是什么?也就是说,单个ip地址是如何存储在代码中的?您看过Python字符串格式吗?可能是一个很好的参考(它有到官方文档的链接)。它存储为字符串,如ip=“1.2.3.4”Nice,使用
zfill
。请注意,您不需要方括号:
join
适用于生成器表达式。@00很好。我改变了这一点,如果您将其设置为函数
addZeros
,那么最好指定要添加多少个零(或者更确切地说,指定
zfill
)作为函数参数(使用默认值)。@00您是对的。我将编辑我的答案。
ip = '.'.join(f'{int(n):03d}' for n in ip.split('.'))