项目由来
最近在用ArcGIS结合Python做一些批量处理的事情,其中一个场景就是根据用户指定的宽度,格式化输出数字,不足的部分补零,例如用户输入为3,则为001、002、003、......099。
之前我们说过这类格式化的写法,{:03d}。但是现在有一个问题,就是这里面的3是用户输入的,所以需要一个format,然后格式化数字,还需要一个format,这就是嵌套的问题。
之前时间紧,就没去查怎么format嵌套的写法,用了一个比较笨的方法,先把格式化写好,然后再格式化数字。
width = input()
for i in range(100):
style = ':0{}d'.format(width)
style = '{' + style + '}'
print(style.format(i))
format嵌套格式化
format嵌套格式化其实也很简单,在花括号外层再嵌套两个花括号即可。
width = input()
for i in range(100):
print('{{:0{}d}}'.format(width).format(i))
我再输出一下中间过程数据,你就明白了。
width = input()
for i in range(100):
style = '{{:0{}d}}'.format(width)
print(style)
{:02d}
外面加了两个花括号,使用一个format时,外面就还有一层花括号,这样就还能使用一次format函数。
今天的分享就到这了,我们下期再见~
网友评论