Есть ли способ лучше?форматирование строки с использованием словаря - PullRequest
0 голосов
/ 18 декабря 2018

Есть ли лучший способ сделать следующее ..

    template = """
This goes here {Item1},,, and here {Item2}
   and here {Item3}
"""

mydict = {'Item1':'Cat', 
          'Item2':'Dog', 
          'Item3':'Hamster', 
          'Item4':'Donkey'
         }

result = template.format(Item1=mydict['Item1'], Item2=mydict['Item2'], Item3=mydict['Item3'])

Главное, чтобы заполнители в строке формата назывались точно так же, как значения ключа в словаре.

НО Словарь может содержать больше ключевых значений, чем заполнителей.Заполнители ВСЕГДА будут подмножеством словаря

Я пробовал

template.format(**mydict)

, но это дает исключение KeyError.Я надеялся, что тихое перехват этого исключения сработает, но это не так.

Мое инстинктивное чувство состоит в том, что должен быть более питонский способ сделать это, кроме длинного способа выше.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...