【问题标题】:How to print a single backslash?如何打印单个反斜杠?
【发布时间】:2023-03-18 19:15:02
【问题描述】:

当我写 print('\')print("\")print("'\'") 时,Python 不会打印反斜杠 \ 符号。相反,前两个错误,第二个打印''。我应该怎么做才能打印反斜杠?

【问题讨论】:

  • 这不起作用看到它打印0.60\textbackslash pm0.073我想要0.60\pm0.073

标签: python escaping backslash


【解决方案1】:

您需要在反斜杠前面加上一个反斜杠,是的,另一个反斜杠:

print("\\")

对于 Python 3 之前的版本:

print "\\"

\ 字符称为转义字符,它对后面的字符进行不同的解释。例如,n 本身只是一个字母,但是当你在它前面加上反斜杠时,它变成了\n,即 换行符 字符。

您可能已经猜到了,\ 也需要转义,因此它的功能不像转义字符。本质上,你必须……逃避逃避。

the Python 3 documentation for string literals

【讨论】:

    【解决方案2】:

    反斜杠需要用另一个反斜杠转义。

    print('\\')
    

    【讨论】:

      【解决方案3】:

      打印不涉及转义的反斜杠的一种怪异方法是将其字符代码传递给chr

      >>> print(chr(92))
      \
      

      【讨论】:

      • 嘿伙计!!不错 +1? 这太叛逆了!!但是,在交互式解释器中 s = chr(92)'\\' 但是当 print(s) 这给出 `\`
      • 这是意料之中的,众所周知,解释器会打印您可以复制/粘贴到您的程序(表示)而不是打印它(字符串转换)的内容。请参阅 __str____repr__
      • 感谢分享 __str____repr__,因为我是 python 新手。??
      【解决方案4】:

      你应该用另一个反斜杠 \ 转义它:

      print('\\')
      

      【讨论】:

        【解决方案5】:
        print(fr"\{''}")
        

        或者这个怎​​么样

        print(r"\ "[0])
        

        【讨论】:

        • 如果你故意让你的代码更难阅读,你也可以这样做import base64; print(base64.b64decode(b'XA==').decode('ascii'))
        • 好的,你能告诉我如何连接一个反斜杠吗?
        • 什么?你的意思是"\\".join([])
        • 实际上,由于python中的路径经常需要原始字符串,因此使用fr“\\”和“\\”很容易混淆。这就是为什么在某一时刻使用它的原因
        • 所以您正在编写所有 Windows 路径,例如 fr"C:\{''}\{''}Program Files\{''}system32\{''}programs",因为您害怕忘记 r?更好的解决方案可能是使用pathlib,然后您可以在Windows 路径PureWindowsPath('c:/foo/bar/setup.py') 中使用/ 斜杠。 r"\ "[0] 的理由是什么?
        猜你喜欢
        • 1970-01-01
        • 2013-11-10
        • 2019-05-05
        • 1970-01-01
        • 1970-01-01
        • 2019-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多