在Python中渲染字符串时处理错误

时间:2014-10-20 05:02:34

标签: python string render

在Python中渲染字符串时,我遇到了处理错误的问题。 我将举例说明。 我在Python中有一个模板字符串:

template = "%(name)s, %(address)s, %(school)s"

我有一本字典如下:

arg = {'name': nameString,
       'address': addressString,
       }

使用以下方式渲染字符串时

myFinalStr = template%arg

出现错误:

Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
KeyError: 'school'

这是因为在模板字符串中找不到字段“school”。我怎么能处理这个错误(我不能使用try异常来处理,因为它不是一个例外,我认为)

我必须处理这个错误,因为我允许用户输入模板,这可能是对还是错。

1 个答案:

答案 0 :(得分:1)

您可以使用try...except

基本格式为

try:
   myFinalStr = template%arg
except KeyError:
   #do somthing to handle the keyerror

或喜欢

try:
    template = "%(name)s, %(address)s, %(school)s"
    myFinalStr = template%arg
except KeyError:
     template = "%(name)s, %(address)s"
     myFinalStr = template%arg

将处理错误。