with open("data.txt") as f:
filecontents = simplejson.load(f)
確實重新加載了您指定的數據。可能會令您困惑的是,JSON中的所有字符串始終爲 Unicode - JSON(如Javascript)沒有與「unicode」不同的「字節串」數據類型。
編輯我沒有老simplejson
周圍更多的(標準Python庫爲json
,因爲其目前的版本已經成爲部分),但在這裏它是如何工作(在希望使json
僞裝成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
;-)不匹配你觀察一下,你」我發現了一個bug,所以報告你正在使用什麼版本的Python和simplejson
是至關重要的,你得到什麼錯誤,完成跟蹤(編輯你的Q添加這個 - 顯然至關重要的信息!)。
當您打印'file_contents'時,您看到了什麼?不要猜測,請實際顯示實際價值。 – 2010-08-09 23:47:48
它顯示[u'a',u'b',u'c'] – Tom 2010-08-09 23:55:36
這意味着它已經是一個列表了......前綴'u'說這些字符串是unicode,但它正在做你想要的。 .. – 2010-08-10 00:39:13