with open("data.txt") as f:
filecontents = simplejson.load(f)
実際、指定したとおりにデータをリロードしています。混乱を招く可能性があるのは、JSON のすべての文字列が常にUnicode であることです。JSON (Javascript など) には、「unicode」とは異なる「バイト文字列」データ型がありません。
編集私はもう古いものを持っていませんsimplejson
(その現在のバージョンは標準の Python ライブラリ as の一部になっているためjson
) が、これがどのように機能するか (混乱を避けるためにjson
マスカレード asを作成します!-)...:simplejson
>>> import json
>>> simplejson = json
>>> f = open("data.txt","w")
>>> l = ["a","b","c"]
>>> simplejson.dump(l,f)
>>> f.close()
>>> with open("data.txt") as f: fc = simplejson.load(f)
...
>>> fc
[u'a', u'b', u'c']
>>> fc.append("d")
>>> fc
[u'a', u'b', u'c', 'd']
>>>
この正確なコード (代わりに行うことはimport simplejson
もちろん、最初の 2 行のネット;-) が観察したものと一致しない場合は、バグが見つかったので、Python のバージョンを報告することが重要simplejson
です。使用して正確にどのようなエラーが発生し、トレースバックを完了します(Qを編集してこれを追加します-明らかに重要です-情報!)。