当前位置: 首页 > 面试题库 >

Python格式引发KeyError

田硕
2023-03-14
问题内容

以下代码段:

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)

我还随意使用字符串文字的三引号,因此您无需在每行末尾使用反斜杠。



 类似资料:
  • 问题内容: WHat是格式化python十进制格式的好方法吗? 1.00 - > ‘1’ 1.20 - > ‘1.2’ 1.23 - > ‘1.23’ 1.234 - > ‘1.23’ 1.2345 - > ‘1.23’ 问题答案: 如果您拥有Python 2.6或更高版本,请使用: 对于Python 2.5或更早版本: 说明: 告诉打印第一个参数-在这种情况下为。 冒号(:)之后的所有内容均指定

  • 有人知道怎么修吗?这是为什么我不能在我的Android设备上接收UDP数据包的原因吗? 服务器代码:

  • 问题内容: 在Python 3中,您可以将字符串格式化为: 但是如何格式化字节? 加薪。 如果没有字节的方法,该如何格式化或“重写”字节? 问题答案: 从3.5版开始,格式也适用! https://mail.python.org/pipermail/python- dev/2014-March/133621.html

  • 我将日期作为一个存储在数据库中,格式为“2 15 201 5”(大概是“m d yyyy”?)。下面代码中的包含获取日期的方法的返回值。我想解析日期,以便设置。基于Java中字符串到日期转换的实例 挠头。

  • 问题内容: 这个问题已经在这里有了答案 : 将列表打印为表格数据 (14个答案) 3年前关闭。 使用python2.7,我正在尝试打印到屏幕表格数据。 这大致就是我的代码: 问题是,取决于长度或数据将不会对齐。 这就是我得到的: 我想要得到什么: 是否有允许执行此操作的模块? 问题答案: 推出自己的格式化功能并不难: