首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将titelcase字符串dict转换为大写字符串文本

将titelcase字符串dict转换为大写字符串文本
EN

Stack Overflow用户
提问于 2013-10-17 00:08:07
回答 1查看 243关注 0票数 1

当尝试将{r[Name]}格式化为大写时(最初是标题:James)

原码

代码语言:javascript
复制
string = 'text {r[Name]} data'.format(r=row)

尝试

代码语言:javascript
复制
string = 'text {r[Name].uppercase()} data'.format(r=row)

我得到了回溯:AttributeError: 'str' object has no attribute 'uppercase'

有什么想法吗?非常感谢SMNALLY

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-17 00:09:17

这是因为字符串没有一个名为uppercase的方法,正如错误消息所说的那样。

你可能想要upper

但是,实际上不能以这种方式调用格式字符串中的方法。您可以访问upper属性(只需移除父属性),但是您将得到类似于'text <built-in method upper of str object at 0x12345678> data'的内容,这并不是很有帮助。

那么,你是怎么做到的?您没有。format被有意限制,以便更难意外地运行任意的不受信任的代码。如果您认为您需要一个函数调用,这通常是一个信号,表明您变得太花哨了,应该显式地创建一个中间值。例如:

代码语言:javascript
复制
string = 'text {name} data'.format(name=row['Name'].upper())
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19416064

复制
相关文章

相似问题

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