Str对象不可调用

时间:2013-10-15 13:09:20

标签: python string dictionary

我试图寻找一种将字符串拆分为字典的方法。

a=(get_profile_data()['1'])
print(a)
# output: CSRP:Hot12345,Pos:[id],Erp:Hot123456,Miki:[id],Citrix:Hot12345

我出来了这个解决方案:

b= dict(e.split(':') for e in a.split(','))

但我收到错误Str object is not callable。 我不明白为什么错误提出来,我会感激任何帮助。 谢谢, 或

编辑: 全程引用:     回溯:C:\或\ myScript \ txt creator \ line_reader.py。第24行     TypeError:'str'对象不可调用。

奇怪的是代码在空闲时工作正常,但在PyScripter中显示了这个错误。

2 个答案:

答案 0 :(得分:7)

听起来像是在某处用字符串覆盖dict。解决这个问题,它会起作用。

由于它显然是由您的环境破坏引起的,您可以使用此解决方法来恢复它:

dict = type({})

答案 1 :(得分:3)

你也可以使用像这样的词典理解

{ k:v for k,v in (elem.split(':') for elem in a.split(','))}

虽然你似乎在某处用字符串覆盖了dict,但请仔细检查它。