Python如何实现format函数的嵌套高效格式化?
- 内容介绍
- 文章标签
- 相关推荐
本文共计418个文字,预计阅读时间需要2分钟。
项目来源:近期使用ArcGIS结合Python进行批量处理的事件,其中一项场景是依据数据用户指定的宽度,格式化输出数字,不足的部分补零。例如,用户输入为3,则输出为001、002、003……099。
项目由来
最近在用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))
我再输出一下中间过程数据,你就明白了。
本文共计418个文字,预计阅读时间需要2分钟。
项目来源:近期使用ArcGIS结合Python进行批量处理的事件,其中一项场景是依据数据用户指定的宽度,格式化输出数字,不足的部分补零。例如,用户输入为3,则输出为001、002、003……099。
项目由来
最近在用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))
我再输出一下中间过程数据,你就明白了。

