python, writing Json to file
本问题已经有最佳答案,请猛点这里访问。
我正在写我的第一个JSON文件。但由于某种原因,它实际上不会写入文件。我知道它在做什么,因为在运行dumps之后,我放入文件中的任何随机文本都会被删除,但在它的位置上没有任何内容。不用说,但是负载部分会抛出错误,因为那里什么也没有。这不应该将所有JSON文本都添加到文件中吗?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | from json import dumps, load n = [1, 2, 3] s = ["a","b" ,"c"] x = 0 y = 0 with open("text","r") as file: print(file.readlines()) with open("text","w") as file: dumps({'numbers':n, 'strings':s, 'x':x, 'y':y}, file, indent=4) file.close() with open("text") as file: result = load(file) file.close() print (type(result)) print (result.keys()) print (result) |
您可以使用
1 2 | with open("text","w") as outfile: json.dump({'numbers':n, 'strings':s, 'x':x, 'y':y}, outfile, indent=4) |
更改:
1 | dumps({'numbers':n, 'strings':s, 'x':x, 'y':y}, file, indent=4) |
到:
1 | file.write(dumps({'numbers':n, 'strings':s, 'x':x, 'y':y}, file, indent=4)) |
号
也:
- 不需要做
file.close() 。如果使用with open... ,则处理程序始终正确关闭。 result = load(file) 应为result = file.read() 。