Python 文本中的动态值
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