3

在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 中有不同的方式吗?

4

3 回答 3

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自动d 。.close()with

于 2013-04-23T12:04:30.077 回答
2

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

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

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

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

此外,您应该with在处理文件时使用该语句。

with open('data.json', 'w') as json_data:
   json.dump(peinaw, json_data)
于 2013-04-23T12:18:23.173 回答
1

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

json_data = open('data.json', 'w')
于 2013-04-23T12:03:41.827 回答