Python日志记录:unicode符号是unicode转义的[重复]

问题描述 投票:2回答:1

这个问题在这里已有答案:

我想记录请求对文件的响应,但是当我使用getLogger().warning(string)时,以下字符串是unicode-escaped示例:

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

此代码将写入日志文件unicode-escaped字符串,其中“Ошибка”将被写为“\ u0417 \ u0430 \ u043a \ u0430 \ u0437 ...”但我希望看到这些字符。

python
1个回答
1
投票

你的问题是json.dumps通过转义它将unicode转换为ascii。通过向.dumps函数添加额外参数ensure_asii = False可以避免这种情况。

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

您可以检查documentation以获取json.dumps函数的其他参数。

© www.soinside.com 2019 - 2024. All rights reserved.