jsons使用什么open运算符

jv4diomz  于 2023-08-08  发布在  其他
关注(0)|答案(1)|浏览(94)
with open(path, "rb") as json_file:
        data = json.load(json_file)
        DO SOME STUFF WITH THE DATA
        print(data)
        json.dump(data, json_file)

字符串
我做错了什么?它总是在保存或打开JSON文件时显示一个错误(这是一个dict,我在函数中更改值)

cygmwpex

cygmwpex1#

您面临的问题是由于文件以二进制模式"rb"打开,并尝试使用json.load读取JSON内容,这期望文件是文本文件,而不是二进制文件。当您尝试将JSON数据转储回文件时,会遇到相同的问题,因为您试图将文本数据写入以二进制模式打开的文件。
下面是更正的代码:

with open(path, "r") as json_file:
    data = json.load(json_file)

# DO SOME STUFF WITH THE DATA

with open(path, "w") as json_file:
    json.dump(data, json_file)

print(data)

字符串
在这里,我将阅读文件的模式从"rb"更改为"r",并添加了一个单独的"w"块,用于将修改后的数据写回文件。这应该可以解决您遇到的错误。

相关问题