gpt4 book ai didi

python - 为什么python将 '\12'解释为 '\n'

转载 作者:行者123 更新时间:2023-12-03 23:26:27 26 4
gpt4 key购买 nike

我有一个字符串,其中包含以下序列 '10\S\12/L'我想使用 .split('\n') 基于行拆分字符串但是它会导致字符串在 '\12' 上断裂.我发现只要一个字符串包含这个,解释器就会用换行符打印字符串。
为什么是 '\12''\n'我该如何预防?

最佳答案

因为 Python 将其解释为 octal code for a newline ,由那个反斜杠转义引导,然后是 12。
你可以反过来看到:

>>> # Python 3.9 REPL
>>> oct(ord('\n'))
'0o12'
请参阅 String and Bytes Literals 上的 Python 文档:
\ooo 表示具有八进制值 ooo 的 [unicode] 字符......最多接受 3 位数字,”但在这种情况下,在这两个数字处停止。
如果您想在字符串中包含文字反斜杠,您可以:
  • 用另一个反斜杠转义它:'\\12'
  • 使用以“r”为前缀的原始字符串文字:r'\12'
  • 关于python - 为什么python将 '\12'解释为 '\n',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64613453/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com