Скажем, у меня есть словарь с точками в названиях полей, например {'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)