2017-03-17 6 views
1

単語を含むリストをキャッシュしました。キャッシュメモリから文字列型としてリストをダウンロードします。誰も私は再びリストにそれらを変換することができます知っていますか?文字列としてキャッシュされた文字列リストがリストに変換されます

第一リストは

b"['cat', 'dog']" 

は、私は、この形成のリストとして

['cat','dog'] 

でそれをしたいです。

私はすでに試してみてください。

for lists in petlist: 
    x = lists.decode("utf-8") 
    x = x.replace('[','') 
    x = x.replace(']','') 
    resources = b.split (',') 

    if ',' in x: 
     x = x.split(',') 
    print(x) 

任意のアイデア?

+1

最初の場所。 –

答えて

1

ast.literal_evalを使用すると、有効なPythonリテラルを含む文字列を評価できます。データを処理するには、bytesオブジェクトを文字列にデコードする必要があります。デフォルトのUTF-8エンコーディングを使用できます。あなたは `ast.literal_eval`を使用することができますが、それは実際にある適切なリストですので、おそらくあなたがそのキャッシュされたデータを作成したり、取得しているどのように修正する方が良いだろう

from ast import literal_eval 

s = b"['cat', 'dog']" 
a = literal_eval(s.decode()) 
print(a, type(a)) 

出力

['cat', 'dog'] <class 'list'> 
関連する問題