如何解决使用.format时打印格式字符串中的“遇到单个'}'”问题
我现在正在尝试以表格的形式打印一些内容(使用左对齐和填充)来显示表头,但我总是遇到以下错误。
ValueError: Single '}' encountered in format string
这是出错的那一行:
print("{0}:<15}{1}:<15}{2}:<8}".format("1", "2", "3"))
我想要的输出大概是这样的:
1 2 3
我按照建议尝试复制 { },具体可以参考这里,但没有成功。
我可能遗漏了一些非常明显的东西,不过我盯着它看了很久,还是看不出来。毕竟,问问也没什么坏处,对吧?
谢谢
4 个回答
5
在某些情况下,{
和 }
这两个符号需要进行处理,以免它们被误认为是格式化模板的一部分。
你可以试试这个:print("{0}:<15}}{1}:<15}}{2}:<8}}".format("1", "2", "3"))
这样会输出:1:<15}2:<15}3:<8}
26
使用 }}
:
>>> "{0}:<15}}{1}:<15}}{2}:<8}}".format("1", "2", "3")
'1:<15}2:<15}3:<8}'
14
有效的代码:
>>> print("{0}:<15}}{1}:<15}}{2}:<8}}".format("1", "2", "3"))
1:<15}2:<15}3:<8}
补充说明:现在我明白你的意思了。你可以这样做:
print("{0:<15}{1:<15}{2:<8}".format("1", "2", "3"))