我在想为什么Python
OUTPUT_HTML_PATH = os.path.join(
os.path.dirname(os.path.abspath(__file__)),
'formats',
'html')
with open(os.path.join(OUTPUT_HTML_PATH, 'index.html'), 'r') as f:
OUTPUT_HTML_PAGE = f.read()
OUTPUT_HTML_PAGE.format(feedback_json=json.dumps(
feedback, indent=2, sort_keys=True),
resources_path=args.resources_path)
在旧的index.html
的情况下,format
成功了
一旦我尝试更改index.html
,添加如下脚本标记:
<script type="application/javascript">
function loadScript(url, callback){
a=1
}
</script>
我要走了
KeyError: '\n a=1\n '
我的功能被简化以减少复杂性
对于python,您使用以下字符串:
如果您检查
format
documentation,您将看到它使用{}作为放置输入数据的占位符。因此在字符串中,占位符中有a=1
,因此python不知道如何处理它为了解决这个问题,您必须添加double
"{{}}"
,以便在字符串中对它们进行scape,这样python就不会将它们识别为格式化标记:您需要转义任何不属于格式化槽的
{
或}
字符;通过将它们加倍来实现:但是,您可能希望查看专门的模板库,例如Jinja2或Mako或any of the other widely used engines;它们还允许您使用条件和其他编程构造,而不仅仅是将值插入固定的插槽中
相关问题 更多 >
编程相关推荐