Python日志记录:unicode符号是unicode转义的[重复]
Posted
技术标签:
【中文标题】Python日志记录:unicode符号是unicode转义的[重复]【英文标题】:Python logging: unicode symbols is unicode-escaped [duplicate] 【发布时间】:2019-06-16 18:00:00 【问题描述】:我想记录对文件的请求响应,但是当我使用 getLogger().warning(string)
时,以下字符串被 unicode-escaped
示例:
r = requests.post(...)
result = json.loads(r.text) # Now result == '"error": "Ошибка 1"'
getLogger().warning(json.dumps(result))
此代码将写入日志文件 unicode 转义字符串,其中“Ошибка”将写为“\u0417\u0430\u043a\u0430\u0437...” 但我想按原样查看这些角色。
【问题讨论】:
【参考方案1】:您的问题是 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))
您可以检查 documentation 以获取 json.dumps 函数的其他参数。
【讨论】:
以上是关于Python日志记录:unicode符号是unicode转义的[重复]的主要内容,如果未能解决你的问题,请参考以下文章