Python日志记录:Unicode符号被转义为Unicode转义符

4
我想将请求响应记录到文件中,但是当我使用getLogger().warning(string)时,下面的字符串被转义成Unicode。 例如:
r = requests.post(...)
result = json.loads(r.text)  # Now result == '{"error": "Ошибка 1"}'
getLogger().warning(json.dumps(result))

这段代码将会将Unicode转义的字符串写入日志文件,其中"错误"会被写成"\u0417\u0430\u043a\u0430\u0437..."。但我希望能够直接看到这些字符。

1个回答

3

您的问题是json.dumps将Unicode转换为ASCII进行转义。可以通过向.dumps函数添加一个额外的参数ensure_ascii=False来避免这种情况:

r = requests.post(...)
result = json.loads(r.text)  # Now result == {"error": "Ошибка 1"}
getLogger().warning(json.dumps(result, ensure_ascii=False))

你可以查看文档来获取json.dumps函数的其他参数信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接