无法将列表或字符串转换为di

2024-04-19 22:37:10 发布

您现在位置:Python中文网/ 问答频道 /正文

需要的信息:这在python3.4.1中

我很难弄清楚我从telnet得到的对象是如何工作的。我使用这个代码:

def EventHandler(sender, event):
    print("Printing server response: " + str(event.parsed)) #This is the server text
    print(type(event.parsed)) #I try to check what it's, seems a list
    TryingToFix = str(event.parsed)[1:-1] #I try to make it a string...
    dict(TryingToFix) #...just to later try to make it a dict
    print(TryingToFix) #this never works

结果是:

Printing server response: [{'targetmode': '2', 'invokername': 'Saelyth', 'invokerid': '18472', 'msg': 'test message', 'invokeruid': 'myuniqueid'}]
<class 'list'>
ValueError: dictionary update sequence element #0 has length 1; 2 is required

有什么问题?
我希望能够单独使用响应中的项。例如,我想只打印invokername或msg。我相信所需要的代码应该是event.parsed['msg'],但它给我制造麻烦,因为它看起来根本不是dict。你知道吗

如何以所需的方式使用列表中的项目?你知道吗

预期答案:打印(仅1项信息)


Tags: to代码event信息serverresponseitmsg