首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >string.Formatter不接受"{}“模板吗?

string.Formatter不接受"{}“模板吗?
EN

Stack Overflow用户
提问于 2013-06-24 17:36:23
回答 1查看 96关注 0票数 3

Python“允许您使用与内置Formatter class ()方法相同的实现来创建和自定义您自己的字符串格式化行为”。因为一个人可以

代码语言:javascript
运行
复制
>>> '{}'.format(3.14)
'3.14'

代码语言:javascript
运行
复制
>>> format(3.14, '')
'3.14'

我希望下面的代码也能正常工作:

代码语言:javascript
运行
复制
>>> string.Formatter().format('{}', 3.14)
(…)
KeyError: ''

有没有什么标准的方法可以用格式化程序来处理这个非常普通和简单的格式化字符串呢?或者必须在格式化程序表现得更像Python的format()之前进行自定义?这在robust way (线程安全,…)中真的可行吗??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-24 19:37:25

Python2.6/3.0中的新型字符串格式化的原始实现不允许空的{}模板。允许它们的更改被记录为issue 5237: Allow auto-numbered replacement fields in str.format() strings。在那一页上,message 83559 from Eric V. Smith思考了string.Format是否也应该支持自动编号的问题(我猜他指的是string.Formatter),并得出了反对的结论。

issue 13598: string.Formatter doesn't support empty curly braces "{}"中已经提出了一个补丁。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17272297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档