напечатать '{' с использованием .format - PullRequest
1 голос
/ 06 мая 2020

Я хочу напечатать строку: [{X}], а X - это int. когда я использую .format, у меня возникают проблемы с печатью символа '{', потому что он является частью формата.

Я пытался использовать строку кода:

print("[{{}}]".format(X))

и я получаю сообщение об ошибке:

Single '}' encountered in format string.

Есть ли способ обойти эту ошибку?

Ответы [ 3 ]

1 голос
/ 06 мая 2020

Хотя я не могу воспроизвести заявленную вами ошибку, вы создаете только символы, необходимые для отображения фигурных скобок, без поля замены.

fmt = "["  # the opening bracket
fmt += "{{"  # the literal {
fmt += "{}"  # the replacement field
fmt += "}}"  # the literal }
fmt += "]"  # the closing bracket

assert fmt == "[{{{}}}]"
#         not "[{{}}]", as you have

assert fmt.format(3) == "[{3}]"
1 голос
/ 06 мая 2020

{{}} используются для печати {}. Если вы хотите что-то вроде этого {something}. Попробуйте это

X=10
print("[{{{}}}]".format(X))
# [{10}]
0 голосов
/ 06 мая 2020

Если использование format() не является абсолютной необходимостью, вы можете сделать что-то вроде этого:

x = 12
print("[{%i}]" %x)
# [{12}]

Это чище и понятнее, чем:

print("[{{{}}}]".format(X))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...