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