当前位置: 首页 > 知识库问答 >
问题:

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

阳宗清
2023-03-14

我想将请求响应记录到文件中,但是当我使用< code>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个答案

王飞英
2023-03-14

您的问题是json。转储通过转义将Unicode转换为ASCII。这可以通过向中添加额外的参数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函数。

 类似资料:
  • 我试图防止POST请求中的字符串(在本例中为变量)被转义,因为它将存储在JSON中。我的代码是 调试我可以看到是unicode类型,我相信这是Django处理请求对象的方式。实际的字符串,尽管unicode没有得到它的特殊字符,直到。如果我尝试将其更改为以防止它被转义,我得到错误: 有什么想法吗?

  • 在我的生产级应用程序中,我正在研究一些与unicode字符相关的问题,比如中文/日语字符串。 我的应用程序有一个启动程序和一个配置文件,它设置了运行JVM可以使用的所有参数。此配置文件作为命令行参数的一部分传递。 所以我创建了一个小程序来测试这个场景,该程序的工作是将一个文件路径作为命令行参数的一部分,打印它并读取该文件的内容。在运行之前,它看起来与上面类似,即“some/path/和/????.

  • 问题内容: 当我尝试使用“ unicode(head.contents [3])”获取标签的内容时,我得到类似于以下的输出:“ Christensen Sk \ xf6ld”。我希望转义序列作为字符串返回。如何在python中做? 问题答案: 假设Python将名称视为普通字符串,则首先必须将其解码为unicode: 实现此目的的另一种方法: 注意字符串前面的“ u”,表示它是未编码的。如果进行打

  • 问题内容: 在解析包含unicode转义序列的json字符串时,存在一个长期存在的错误。似乎需要修复该错误,这种错误可能很快就不会发生,因此我正在寻找一种在R中创建解决方法的方法,该方法在将序列提供给json解析器之前先取消序列化。 一些上下文:json数据始终是unicode,默认情况下使用,因此通常不需要转义。但是出于历史原因,json确实支持转义的unicode。因此json数据 和 是等效

  • 我需要将输入字符串中的unicode字符转义为UTF-16或UTF-32转义序列。例如,输入字符串文字< code >“吃,喝,愛" 应该转义为< code >“吃喝,\ u611b”。以下是排序表中的规则: Escape | Unicode码位 “\u” 十六进制 十六进制 十六进制|U 到 U FFFF 范围内的 Unicode 代码点(包括与编码的十六进制值相对应)。 '\U'HEX HEX

  • 注意,unicode是转义字符串 我的徒劳尝试到目前为止...