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,我在函数中更改值)
cygmwpex1#
您面临的问题是由于文件以二进制模式"rb"打开,并尝试使用json.load读取JSON内容,这期望文件是文本文件,而不是二进制文件。当您尝试将JSON数据转储回文件时,会遇到相同的问题,因为您试图将文本数据写入以二进制模式打开的文件。下面是更正的代码:
"rb"
json.load
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"块,用于将修改后的数据写回文件。这应该可以解决您遇到的错误。
"r"
"w"
1条答案
按热度按时间cygmwpex1#
您面临的问题是由于文件以二进制模式
"rb"
打开,并尝试使用json.load
读取JSON内容,这期望文件是文本文件,而不是二进制文件。当您尝试将JSON数据转储回文件时,会遇到相同的问题,因为您试图将文本数据写入以二进制模式打开的文件。下面是更正的代码:
字符串
在这里,我将阅读文件的模式从
"rb"
更改为"r"
,并添加了一个单独的"w"
块,用于将修改后的数据写回文件。这应该可以解决您遇到的错误。