python: точки в имени переменной в строке формата

Скажем, у меня есть словарь с точками в названиях полей, например {'person.name' : 'Joe'} . Если бы я хотел использовать это в str.format , возможно ли это?

Моим первым побуждением было

'Name: {person.name}'.format(**{'person.name': 'Joe'})

, но это сработало бы только в том случае, если бы мой диктант был сформирован например,

{'person':{'name':Joe}}

В соответствующем разделе документации не упоминается о возможности экранирования точки.

(Примечание: я думал, что обычно

def func(**kw): print(kw)
func(**{'a.b': 'Joe'})

вызывает ошибку, но ** -расширенный вызов функции, кажется, работает, даже если они не действительные идентификаторы! Однако выдает ошибку для не-строк. o_O)

10
задан nfirvine 28 October 2011 в 20:35
поделиться