在Python中我们可以做到
"file_{:03}.ext".format(i)
允许我们轻松地在任何数字i
上加上前导零以适应任何给定宽度。
但是如果仅在运行时知道所需的宽度怎么办?我们还能达到同样的效果吗?
答案 0 :(得分:2)
当然,字符串格式支持嵌套。
>>> "file_{:0{}}.ext".format(42, 3)
'file_042.ext'
>>> "file_{:0{}}.ext".format(42, 5)
'file_00042.ext'
答案 1 :(得分:2)
由于您未指定python版本,因此我也声明了使用f字符串也很容易做到这一点! (py3.6 +)
>>> value = 42
>>> width = 3
>>> f"file_{value:0{width}}.ext"
'file_042.ext'
>>> width = 5
>>> f"file_{value:0{width}}.ext"
'file_00042.ext'
答案 2 :(得分:-1)
是的!
给出所需的整数宽度d
,首先通过字符串串联创建格式字符串,然后调用format。
d = 3
format_string = "file_{:0" +str(d) + "}.ext"
format_string.format(d)
收益
'file_003.ext'