«%» Символ вызывает ошибку в замене строк местными жителями ()
-
12-10-2019 - |
Вопрос
Я стараюсь заменить строки переменными с использованием местных жителей () в Python, но я могу найти способ использовать % символ внутри строки без ошибок. Вот конкретный пример:
color = colors_generator() #the function return a color
html = """<html><head>
<style>#square{color:%(color)s;width:100%;height:100%;}</style>
</head> <body> <div id="square"> </div>
</body></html>""" % locals()
print "Content-Type: text/html\n"
print html
Результат : TypeError: not enough arguments for format string
Проблема в % персонаж в 100%. Анкет Как я могу избежать этого?
Решение
сбежать % с %
html = """<html><head>
<style>#square{color:%(color)s;width:100%%;height:100%%;}</style>
</head> <body> <div id="square"> </div>
</body></html>""" % locals()
Другие советы
Virhilo уже ответил на ваш прямой вопрос, но если вы обнаружите, что строите довольно большие/сложные шаблоны, возможно, стоит посмотреть на полный шаблонный двигатель:
Не связан с StackOverflow