Есть ли способ форматировать строку с помощью dict, но необязательно без ключевых ошибок?Строковый формат с опциональным значением ключа ключа
Это прекрасно работает:
opening_line = '%(greetings)s %(name)s !!!'
opening_line % {'greetings': 'hello', 'name': 'john'}
Но давайте говорить, что я не знаю имени, и я хотел бы форматировать выше линии только для 'greetings'
. Нечто подобное,
opening_line % {'greetings': 'hello'}
выход будет хорошо, даже если:
'hii %(name)s !!!' # keeping name un-formatted
Но это дает KeyError
при распаковке
Есть ли способ?
** См. Также: ** [py str.fo rmat missing values] (https://stackoverflow.com/questions/20248355/how-to-get-python-to-gracefully-format-none-and-non-existing-fields) – dreftymac