Python中使用escape函数拼接标题与颜色字符串时出现TypeError问题求助
Python中使用escape函数拼接标题与颜色字符串时出现TypeError问题求助
嗨,我来帮你排查这个问题~
你遇到的TypeError: 'str' object is not callable错误,根源是你写的(title)(coloror)这种写法完全不对哦!这里Python会把字符串title当成一个可调用的函数,然后把coloror作为参数传进去,但字符串本身根本不是函数,自然就报错了。
你的需求是要把标题和颜色拼接成"Title (color, color, color)"这种格式,正确的做法是先把两个字符串按照你要的格式拼接好,再传给escape函数。
针对你的代码,只需要把出错的那一行修改成下面的写法就行:
"Title": escape(f"{title} ({coloror})")
上面用的是Python 3.6+支持的f-string,写法简洁又直观。如果你用的是更老的Python版本,也可以用传统的字符串拼接方式:
"Title": escape(title + " (" + coloror + ")")
另外再提醒你一下,要确保product_data里的每个元素都有'color'这个键哦,不然在生成coloror的时候可能会报KeyError。
最后修改后的item字典片段大概是这样的:
coloror = ', '.join(data['color'] for data in product_data) item = { "Item": { "Title": escape(f"{title} ({coloror})") # 这里记得补全字典里其他需要的键值对哦 } }
备注:内容来源于stack exchange,提问作者Said Traore
相关产品推荐
相关产品推荐

