以下代码片段:
template = "\
function routes(app, model){\
app.get('/preNew{className}', function(req, res){\
res.render('{className}'.ejs, {});\
});\
});".format(className=className)
抛出一个KeyError:
Traceback (most recent call last): File "createController.py", line 31, in <module>
});".format(className=className) KeyError: ' app'
有人知道为什么吗?
该代码中有许多未转义的大括号。 Python 将所有大括号视为占位符,并尝试将它们全部替换。然而,您只提供了一个值。
我希望您不希望所有大括号都成为占位符,因此您应该将不需要替换的大括号加倍。例如:
template = """
function routes(app, model){{
app.get('/preNew{className}', function(req, res){{
res.render('{className}'.ejs, {{}});
}};
}});""".format(className=className)
我还冒昧地对字符串文字使用三引号,这样您就不需要在每行末尾使用反斜杠。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)