使用.format打印'{'。

问题描述 投票:-1回答:1

我想打印字符串,而X是一个int。[{X}]而X是一个int,当我使用了 .format 我在打印char '{'时遇到了麻烦,因为它是格式的一部分。

我尝试使用代码行。

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

然后我得到了错误信息

Single '}' encountered in format string.

有什么办法可以解决这个错误吗?

python printing string.format
1个回答
1
投票

{{}} 是用来打印"{{}}... "的。{}. 如果你想要这样的东西 {something}. 试试这个

X=10
print("[{{{}}}]".format(X))
# [{10}]

1
投票

虽然我无法重现你所说的错误,但你只产生了显示括号所需的字符,而没有替换字段。

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}]"

0
投票

如果使用 format() 并不是绝对必要的,那么你可以做这样的事情。

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

这是更干净和更容易理解的方式比:

print("[{{{}}}]".format(X))
© www.soinside.com 2019 - 2024. All rights reserved.