我使用 json 文件为我的 Python 程序处理安全异常,但有时它会附加 \'NUL\' 而不是数据。当发生这种情况时,我无法加载 json 文件。error.json我的问题是...
我使用 json 文件为我的 Python 程序处理安全异常,但有时它会附加 \'NUL\' 而不是数据。当发生这种情况时,我无法加载 json 文件。
错误信息.json
我的问题是为什么会发生这种情况,我怎样才能防止这种情况发生以及如何消除它。
这是读取文件的函数
def read_error_data(self):
print("ErrorControl - read_json_data")
with open("status/errormeldungen.json", "r+") as zwischenspeicher:
self.json_data = json.load(zwischenspeicher)
#print("daten auf der geladenen errormeldungen", self.json_data)
error_data = sorted(self.json_data["Error"], reverse=True,
key=lambda x: datetime.strptime(x["Zeit"], "%d.%m.%Y, %H:%M:%S"))
return error_data
这里我附加了新的错误
def create_error_message(self, klasse, function, action, error_type, error_message):
print("ErrorControl - create_error_message:", f"{klasse} - {function} - {action} - {error_type} - {error_message}")
now = datetime.now()
error_time = now.strftime("%d.%m.%Y, %H:%M:%S")
print("create_error_message")
error_data = {"Zeit": str(error_time),
"Klasse": str(klasse),
"Funktion": str(function),
"Aktion": str(action),
"Error_Type": str(error_type),
"Error_Message": str(error_message),
}
with open("status/errormeldungen.json", "r+") as zwischenspeicher:
data = json.load(zwischenspeicher)
data["Error"].append(error_data)
zwischenspeicher.seek(0)
json.dump(data, zwischenspeicher, indent=4)
目前,当它发生时,我会手动删除\'NUL\'。