python,将Json写入文件

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)


您可以使用json.dump()方法:

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()