String format with optional dict key-value
Is there any way to format string with dict but optionally without key errors? This works fine: opening_line = '%(greetings)s %(name)s !!!' opening_line % {'greetings': 'hello', 'name': 'john'} But let's say I don't know the name, and I would like to format above line only for 'greetings' . Something like, opening_line % {'greetings': 'hello'} Output would be fine even if: 'hii %(name)s !!!' # keeping name un-formatted But this gives KeyError while unpacking Is there any way? Use defaultdict , this will allow you to specify a default value for keys which don't exist in the dictionary. For