Как преобразовать строку с нежелательными символами ('[', '"') в список? - PullRequest
0 голосов
/ 06 июля 2019

У меня есть связь сервер-клиент, и сервер отправляет данные, формируя список, затем json.dumping список и отправку через сокет.Python 3.6 запрашивает у меня кодирование () перед отправкой, поэтому я делаю это так:

a = []
for g in whoto.keys():
    a.append(g)
b = json.dumps(a)
conn.send(b.encode())

На стороне клиента результат recv и decode () дает мне строку "представляя "список.Результат и тип следующие:

decoded =  ["user", "oppan"] type = <class 'str'>

Мне нужно использовать элементы того, что будет списком, чтобы сформировать ListBox в одном из GUI на клиентах.Я могу приблизиться к нему с помощью .split (), но символы '["",]' появляются вместе с содержимым.Код:

dado = dado2.split()
print(dado, 'type =', type(dado))
print('tipo :', type(dado), 'lenght :', len(dado))

возвращая мне:

['["user",', '"oppan"]'] type = <class 'list'>
tipo : <class 'list'> lenght : 2

Какой лучший способ получить чистый список?Заранее спасибо!

1 Ответ

0 голосов
/ 06 июля 2019

Попробуйте это,

import ast
>>> decoded = ast.literal_eval(decoded)  
>>> type(decoded)    
<class 'list'>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...