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