以下代码段:
template = "\
function routes(app, model){\
app.get('/preNew{className}', function(req, res){\
res.render('{className}'.ejs, {});\
});\
});".format(className=className)
Run Code Online (Sandbox Code Playgroud)
抛出一个KeyError:
Traceback (most recent call last): File "createController.py", line 31, in <module>
});".format(className=className) KeyError: ' app'
Run Code Online (Sandbox Code Playgroud)
有人知道为什么吗?
kin*_*all 88
您在该代码中有许多未转义的大括号.Python认为所有大括号都是占位符,并试图将它们全部替换掉.但是,您只提供了一个值.
我希望你不要让你的所有大括号都是占位符,所以你应该把那些你不想替换的大括号加倍.如:
template = """
function routes(app, model){{
app.get('/preNew{className}', function(req, res){{
res.render('{className}'.ejs, {{}});
}};
}});""".format(className=className)
Run Code Online (Sandbox Code Playgroud)
我也冒昧地使用三重引号作为字符串文字,因此你不需要在每一行的末尾使用反斜杠.
| 归档时间: |
|
| 查看次数: |
32153 次 |
| 最近记录: |