Python 文本中的动态值

-1 投票
1 回答
746 浏览
提问于 2025-04-18 06:57
count = 1
maxcount = 6

while(count <= maxcount): 
    print locals()["test_"+str(count)]+str(".png")

    count += 1

我原本希望得到这样的输出

test_1.png
test_2.png
test_3.png
test_4.png
test_5.png
test_6.png

结果却出现了一个错误

KeyError: 'test_1'

另外,如果这个值小于10,能不能在_后面加一个0呢?

我用这个循环来保存文件,但我觉得这个简单的例子会更省事,也能更容易地解决我的问题

1 个回答

3

你看到这个错误是因为在你的代码里没有创建一个叫做'test_1'的变量。与其用while循环,不如用for循环,这样更简单。另外,还有一种叫做字符串格式化的方法,它比字符串拼接要容易使用。

maxcount = 6
for i in range(1, maxcount+1):
    filename = 'test_{}.png'.format(i)
    with open(filename, 'r') as f:
        # do stuff

撰写回答