Python string.Formatter不接受";{};模板?

Python string.Formatter不接受";{};模板?,python,formatting,formatter,Python,Formatting,Formatter,Python的“允许您使用与内置format()方法相同的实现创建和自定义自己的字符串格式化行为”。既然可以 >>> '{}'.format(3.14) '3.14' 及 我希望以下措施也能奏效: >>> string.Formatter().format('{}', 3.14) (…) KeyError: '' 是否有任何标准的方法可以使用格式化程序处理这个非常常见且简单的格式化字符串?或者格式化程序必须在更像Python的format()之前进行自定义

Python的“允许您使用与内置format()方法相同的实现创建和自定义自己的字符串格式化行为”。既然可以

>>> '{}'.format(3.14)
'3.14'

我希望以下措施也能奏效:

>>> string.Formatter().format('{}', 3.14)
(…)
KeyError: ''

是否有任何标准的方法可以使用格式化程序处理这个非常常见且简单的格式化字符串?或者格式化程序必须在更像Python的
format()
之前进行自定义吗?这在(线程安全的,…)中真的可行吗?

Python 2.6/3.0中新样式字符串格式的原始实现不允许使用空的
{}
模板。允许它们的更改记录为。在那一页上,思考
string.Format
是否也应该支持自动编号的问题(我想他的意思是
string.Formatter
),并得出反对的结论


在中提出了一个补丁。

我猜格式化程序不需要理解
{}
,因为这在Python 2.6和3.0中无效(
{0}
是必需的)。问题应该是string.Format还支持自动编号吗?在你引用的帖子中讨论的是有趣的。自2009年启动以来,这方面的变化似乎不大……如果这一点得到证实,我将接受这一点作为对问题的回答。:)讨论可以追溯到2009年:你是在暗示当时的结论是最新的,并且仍然有效,对吗?
>>> string.Formatter().format('{}', 3.14)
(…)
KeyError: ''