我在简单的尝试存储json后得到错误

时间:2013-04-23 12:02:12

标签: python json python-3.x

在python 3,3中

import  json

peinaw = {"hi":4,"pordi":6}
json_data = open('data.json')
json.dump(peinaw, json_data)
json_data.close()

我得到了

File "C:\Python33\lib\json\__init__.py", line 179, in dump
fp.write(chunk)
io.UnsupportedOperation: not writable

在2,7中尝试了同样的事情并且它有效。我在3,3中有不同的方式吗?

3 个答案:

答案 0 :(得分:5)

>>> import  json
>>> peinaw = {"hi":4,"pordi":6}
>>> with open('data.json', 'w') as json_data: # 'w' to open for writing
        json.dump(peinaw, json_data)

我在这里使用了with语句,文件在.close()块的末尾自动with d。

答案 1 :(得分:2)

您需要打开文件进行写入,使用'w'模式参数:

json_data = open('data.json', 'w')

答案 2 :(得分:0)

您没有打开文件进行写作。该文件以read模式打开。验证这样做:

json_data = open('data.json')
print (json_data) # should work with 2.x and 3.x

要解决探测问题,只需在write模式下打开文件。

json_data = open('data.json', 'w')

此外,在使用文件进行woking时,应使用with语句。

with open('data.json', 'w') as json_data:
   json.dump(peinaw, json_data)