str.format()引发KeyE

2024-04-29 00:14:34 发布

您现在位置:Python中文网/ 问答频道 /正文

以下代码引发了KeyError异常:

addr_list_formatted = []
addr_list_idx = 0

for addr in addr_list: # addr_list is a list
    addr_list_idx = addr_list_idx + 1
    addr_list_formatted.append("""
        "{0}"
        {
        "gamedir"  "str"
        "address"  "{1}"
        }
    """.format(addr_list_idx, addr))

为什么?

我正在使用Python3.1。


Tags: 代码informatforisaddresslistaddr
1条回答
网友
1楼 · 发布于 2024-04-29 00:14:34

问题是那些没有指定格式化键的{}字符。您需要将它们加倍,因此将代码更改为:

addr_list_formatted.append("""
    "{0}"
    {{
    "gamedir"  "str"
    "address"  "{1}"
    }}
""".format(addr_list_idx, addr))

相关问题 更多 >