【发布时间】:2020-08-29 18:18:14
【问题描述】:
我想根据输入格式化字符串。例如如果行数为1,则输出必须为image00001.png,如果行数为400,则输出为image00400.png
我使用以下方法这样做
filename = "image%05d.png".format(line_count)
但它没有按预期工作。我错过了什么?
【问题讨论】:
我想根据输入格式化字符串。例如如果行数为1,则输出必须为image00001.png,如果行数为400,则输出为image00400.png
我使用以下方法这样做
filename = "image%05d.png".format(line_count)
但它没有按预期工作。我错过了什么?
【问题讨论】:
您正在混合不同的格式规范。对于.format,请使用Format string syntax。
line_count = 1
filename = "image{:05d}.png".format(line_count)
或新的 f-string 方法
line_count = 1
filename = f"image{line_count:05d}.png"
【讨论】:
您混淆了替换运算符% 和.format() 方法的符号。正确使用方法是filename = "image{:05d}.png".format(line_count)。更好的方法是使用格式字符串:filename = f"image{line_count:05d}.png"。
【讨论】:
在 Python 3 中,您可以使用 f 字符串:
filename = f'image{line_count:05}.png'
【讨论】:
fname = "image" + str(400).zfill(5) + ".png"
print(fname)
【讨论】: