1

文字列 "[A,B,C]" があり、それをリスト [A,B,C] に変換したいとします。Google で検索した結果、pickle を使用する必要があることはわかっていますが、その前pickle.loadsにオブジェクトを持っているように見え pickle.dumpsますが、それは本当ですか? はいの場合、どうすればこれを回避できますか?

4

2 に答える 2

2

pickle.dumpsPython オブジェクトを Pickle 文字列にシリアライズし、シリアライズされた Pickle 文字列を Python オブジェクトに変換する関数pickle.loadsです。基本的に、シリアル化されていないオブジェクトを逆シリアル化する方法を尋ねています。答えは、できないということです。

ただし、bikeshredder は正しいです。文字列は既に JSON のシリアル化形式になっているため、json.loads.

于 2013-01-28T23:27:33.177 に答える
1

文字列「[A,B,C]」は、ピクル形式でも、私が知っている他のシリアル化形式でもありません。Python コードでもありません。

一部のデータを逆シリアル化したい場合 (ファイルから読み取るなど) は、JSONを使用することをお勧めします。記述が簡単で、解析が高速で、十分に確立された標準です。

>>> import json
>>> data_json = '["A", "B", "C"]'
>>> data = json.loads(data_json)
>>> data
[u'A', u'B', u'C']
>>> data_json = json.dumps(data)
>>> data_json
'["A", "B", "C"]'
于 2013-01-28T23:25:34.540 に答える