我试图寻找一种将字符串拆分为字典的方法。
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中显示了这个错误。
答案 0 :(得分:7)
听起来像是在某处用字符串覆盖dict
。解决这个问题,它会起作用。
由于它显然是由您的环境破坏引起的,您可以使用此解决方法来恢复它:
dict = type({})
答案 1 :(得分:3)
你也可以使用像这样的词典理解
{ k:v for k,v in (elem.split(':') for elem in a.split(','))}
虽然你似乎在某处用字符串覆盖了dict,但请仔细检查它。