格式化巨大的多行字符串

时间:2018-03-05 00:42:09

标签: python

我在Python编码。我有一堆巨大的多行字符串:

str = """Hello: {}
Lorem ipsum dolor sit ame.
Consectetur adipiscing elit.
Age: {}
Suspendisse turpis orci. 
Aliquam eu odio nec.
condimentum vestibulum nibh. 
Vivamus eget hendrerit urna.
Value:{}""".format("Name","6","Something")

它按预期工作。

然后我尝试了真正的目标:

ModdedLayoutTemp = """<!DOCTYPE html>
<html>
<head>
<meta charset="uft-8">
<title>{}</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<style>
::-webkit-scrollbar { 
    /*display: none;*/
}
#Page {
    height: 100vh;
    width: 100vw;
    background-color: {};
    background-size: 100vw 100vh;
    position: fixed;
    bottom: 0;
    right: 0;
}
html {
    height: 110vh;
}
</style>
</head>
<body>
<script src="/static/viewPortScript.js"></script>
{% block body %}

{% endblock %}
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"/>
</body>
</html>
""".format("Title To Web","#ff6600")

print(ModdedLayoutTemp)

这次我收到了一个错误:

""".format("Title To Web","#ff6600") KeyError: ' \n /*display'

我不知道为什么我会收到这个错误。代码是另一个字符串。有没有人知道什么是错的?

1 个答案:

答案 0 :(得分:1)

加倍{}个字符。 Python将这些视为特殊的,并期望格式化的关键。见str.format() raises KeyError