用python设置固定长度

Setting fixed length with python

我有"60"或"100"这样的str。我需要"00060"和"00100",

我该怎么做?代码是这样的:我用"0"+"0"+"0"作为插头。现在需要修复d=0006000100

1
2
3
4
  a4 ='60'
  a5 ='100'

  d=('0'+'0'+'0'+a4+'0'+'0'+a5)

因为您在操作字符串,str.zfill()完全按照您的需要执行。

1
2
3
>>> s1, s2 = '60', '100'
>>> print s1.zfill(5), s2.zfill(5)
00060 00100


这样地:

1
2
num = 60
formatted_num = u'%05d' % num

有关将数字格式化为字符串的详细信息,请参阅文档。

如果您的号码已经是一个字符串(如更新后的问题所示),您可以使用rjust字符串方法将其填充到正确的宽度:

1
2
num = u'60'
formatted_num = num.rjust(5, u'0')


如果"60"已经是一个字符串,则在应用格式之前必须将其转换为数字。最实用的一个工作原理和C的printf一样:

1
2
a  ="60"
b ="%05d" % int(a)

如果它已经是一个字符串,您可能需要使用.zfill()方法。

1
myval.fill(5)

请阅读您最喜欢的python文档:

http://docs.python.org/library/string.html格式字符串

"

如果宽度字段前面是零("0")字符,则启用零填充。这相当于对齐类型"=",填充字符"0"。"