json.dump 没有写入文件

json.dump not writing to file

我使用了这样的 dump 函数和一个名为 test.py 的文件:

import json

li = [2, 5]
test = open('test.json', 'w')
json.dump(li, test)

但是在代码运行之后没有写入JSON文件。 为什么是这样? json.dump的正确使用方法是什么?

更改通常以块的形式写入磁盘,通常为 2 或 4KiB 左右。由于您的测试文件很小,因此在您关闭文件、REPL 或您的脚本终止之前,不会从 REPL 中刷新更改。

文件有一个 close 方法可以用来显式关闭。但是,在 python 中处理文件的惯用方法是使用 with 块:

import json

li = [2, 5]
with open('test.json', 'w') as test:
    json.dump(li, test)

这大致相当于

li = [2, 5]
test = open('test.json', 'w')
try:
    json.dump(li, test)
finally:
    test.close()