为什么python会给我这个错误?[KeyError:' left']

时间:2018-03-13 09:06:26

标签: python-3.x

错误是

'#slider-image-{0}:target ~ .image-holder{left: {1} px;}'.format(times, (times - 1) * -800))
KeyError: 'left''

在这个循环中:

for file in file_read:
    file_write.write(
        '#slider-image-{0}:target ~ .image-holder{left {1} px;}'.format(times, (times - 1) * -800))

为什么会发生此错误,我该如何解决?

1 个答案:

答案 0 :(得分:0)

您的格式中有一个名为{left: ...}的占位符。你的意思是CSS语法与Python无关。通过加倍来逃避大括号:

file_write.write(
    '#slider-image-{0}:target ~ .image-holder{{left {1} px;}}'.format(times, (times - 1) * -800))

Doubled {}大括号输出为单个大括号:

>>> '{{left {0}}}'.format('demo')
'{left demo}'