Python添加前导零使用str.format

你能使用str.format函数显示一个带有前导零的整数值吗?

示例input:

 "{0:some_format_specifying_width_3}".format(1) "{0:some_format_specifying_width_3}".format(10) "{0:some_format_specifying_width_3}".format(100) 

期望的输出:

 "001" "010" "100" 

我知道zfill和基于%的格式(例如'%03d' % 5 )都可以实现这一点。 然而,我想要一个解决scheme,使用str.format为了保持我的代码干净和一致(我也格式化string与date时间属性),也扩大我的格式规范迷你语言的知识。

 >>> "{0:0>3}".format(1) '001' >>> "{0:0>3}".format(10) '010' >>> "{0:0>3}".format(100) '100' 

说明:

 {0 : 0 > 3} │ │ │ │ │ │ │ └─ Width of 3 │ │ └─ Align Right │ └─ Fill with '0' └─ Element index 

从格式示例派生,在Python文档中嵌套示例 :

 >>> '{0:0{width}}'.format(5, width=3) '005'