【问题标题】:Python logging: unicode symbols is unicode-escaped [duplicate]Python日志记录:unicode符号是unicode转义的[重复]
【发布时间】: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...” 但我想按原样查看这些角色。

【问题讨论】:

    标签: python


    【解决方案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 函数的其他参数。

    【讨论】:

      猜你喜欢
      • 2016-09-05
      • 2011-12-27
      • 1970-01-01
      • 2021-05-09
      • 1970-01-01
      • 2011-04-29
      • 2013-01-19
      • 1970-01-01
      • 2021-10-02
      相关资源
      最近更新 更多