我面对这种奇怪的情况:
我正在使用str
格式为我的文件名提供某种模式。例如,我使用前缀,然后使用固定长度的数字来创建文件名。当我还需要控制固定长度的数字长度时出现问题:
prefix = 'action1'
n = 6
for i in range(0, 6):
filename = '{}_{:06}.jpg'.format(prefix, i)
print(filename)
action1_000000.jpg
action1_000001.jpg
...
我提出了这个结合了新旧字符串格式的想法,但它很奇特且肯定容易被弃用:
n = 4
for i in range(0, 6):
filename = ('{}_{:0%d}.jpg' % n).format(prefix, i)
print(filename)
action1_0000.jpg
action1_0001.jpg
...
那么,是否有其他方法可以控制字符串格式(:06
)内的字符串格式({}_{:06}.jpg
部分)?
答案 0 :(得分:2)
您可以在{}
的{{1}}内使用{}
。试试这个:
str.format()
参见" 嵌套参数和更复杂的例子"在this link
或者,使用f-string feature:
'{}_{:0{}}.jpg'.format(prefix, i, 4)
答案 1 :(得分:0)
为什么不使用.rjust()?
prefix = 'action1_'
n = 6
counter = 1
filename = prefix + str(counter).rjust(n, '0')
print(filename)