首页 > 解决方案 > 重新格式化相同的字符串不起作用。我怎样才能做到这一点?

问题描述

我想在循环中填充一个基本字符串,以访问名称中日历天数增加的文件。这是精简版:

my_str = "filename_{}_blah.txt"
for n in range(3):
    my_str = my_str.format(n)
    print(my_str)

输出:

filename_0_blah.txt
filename_0_blah.txt
filename_0_blah.txt

我预计数字会增加。

(1)有没有办法解决这个问题,

(2) 为什么会这样?

谢谢你。

标签: python

解决方案


您需要使用不同的变量来保存格式字符串和结果。如果您分配回同一个变量,它不再包含格式字符串,{}已被替换为n. 所以下一次,没有占位符可以替换为 的下一个值n

format_str = "filename_{}_blah.txt"
for n in range(3):
    my_str = format_str.format(n)
    print(my_str)

推荐阅读