Как я могу напечатать строку, используя .format(), и напечатать литеральные фигурные скобки вокруг моей замененной строки

Возможный дубликат:
Как напечатать буквенные символы "{}" в строке python, а также использовать .format на нем?

В принципе, я хочу использовать .format(), например:

my_string = '{{0}:{1}}'.format('hello', 'bonjour')

И пусть это соответствует:

my_string = '{hello:bonjour}' #this is a string with literal curly brackets

Однако первая часть кода дает мне ошибку.

Кудрявые скобки важны, потому что я использую Python для связи с частью программного обеспечения с помощью текстовых команд. Я не могу контролировать, какое форматирование ожидает fosoftware, поэтому важно, чтобы я разобрался со всем форматированием на моем конце. Он использует фигурные скобки вокруг строк, чтобы гарантировать, что пробелы в строках интерпретируются как одиночные строки, а не несколько аргументов - например, как обычно, с кавычками в пути к файлам.

В настоящее время я использую старый метод:

my_string = '{%s:%s}' % ('hello', 'bonjour')

Что, безусловно, работает, но .format() кажется более легким для чтения, и когда я отправляю команды с пятью или более переменными в одной строке, тогда чтение становится важной проблемой.

Спасибо!

Ответ 1

Вот новый стиль:

>>> '{{{0}:{1}}}'.format('hello', 'bonjour')
'{hello:bonjour}'

Но я думаю, что сбежать немного сложно, поэтому я предпочитаю переключиться на старый стиль, чтобы избежать экранирования:

>>> '{%s:%s}' % ('hello', 'bonjour')
'{hello:bonjour}'