Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

str.format() raises KeyError

The following code raises a KeyError exception:

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)) 

Why?

I am using Python 3.1.

like image 946
Dor Avatar asked May 02 '10 22:05

Dor


1 Answers

The problem is those { and } characters you have there that don't specify a key for formatting. You need to double them up, so change your code to:

addr_list_formatted.append("""     "{0}"     {{     "gamedir"  "str"     "address"  "{1}"     }} """.format(addr_list_idx, addr)) 
like image 80
Lasse V. Karlsen Avatar answered Sep 28 '22 01:09

Lasse V. Karlsen