一尘不染

Python-如何将JSON数据写入文件?

python

我将JSON数据存储在变量中data。

我想将其写入文本文件进行测试,因此不必每次都从服务器获取数据。

目前,我正在尝试:

obj = open('data.txt', 'wb')
obj.write(data)
obj.close

我收到此错误:

TypeError:必须是字符串或缓冲区,而不是dict

如何解决?


阅读 450

收藏
2020-02-12

共1个答案

一尘不染

你忘记了实际的JSON部分- data是字典,尚未进行JSON编码。写这样的最大兼容性(Python 2和3):

import json
with open('data.json', 'w') as f:
    json.dump(data, f)

在现代系统(即Python 3和UTF-8支持)上,你可以使用

import json
with open('data.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, ensure_ascii=False, indent=4)
2020-02-12