繁体   English   中英

可变数量的前导零

[英]variable number of leading zeros

在 Python 我们可以做

"file_{:03}.ext".format(i)

允许我们轻松地用前导零填充任何数字i以适应任何给定的宽度。

但是,如果只在运行时知道所需的宽度怎么办? 我们还能达到同样的效果吗?

当然,字符串格式支持嵌套。

>>> "file_{:0{}}.ext".format(42, 3)
'file_042.ext'
>>> "file_{:0{}}.ext".format(42, 5)
'file_00042.ext'

由于您没有指定 python 版本,我将使用 state 这也很容易使用 f-strings 完成。 (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'

是的!

给定所需的 integer 宽度d ,首先通过字符串连接创建格式字符串,然后调用 format.

d = 3
format_string = "file_{:0" +str(d) + "}.ext"
format_string.format(d)

产量

'file_003.ext'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM