代码之家  ›  专栏  ›  技术社区  ›  Anentropic

如何在Python中打印反斜杠转义字符串以输出“\n”?

  •  0
  • Anentropic  · 技术社区  · 7 年前
    In [4]: import re
    
    In [5]: print(re.escape('\n'))
    \
    
    
    In [6]: print(re.escape(r'\n'))
    \\n
    
    In [7]: print(r'\n')
    \n
    
    In [8]: print('\n')
    
    
    In [9]: print('\\n')
    \n
    

    第三个例子 print(r'\n') 给出了我想要的输出(也是最后一个示例)。

    但我要打印的字符串是一个未定义为原始字符串的变量。

    不用说,我无法手动向字符串添加反斜杠。

    1 回复  |  直到 7 年前
        1
  •  5
  •   Charles Duffy    7 年前

    使用 repr() 要将值打印为Python代码,请执行以下操作:

    print(repr('\n'))
    

    ...将发射:

    '\n'
    

    如果要去除前导字符和尾随字符,则:

    print(repr('\n')[1:-1])
    

    ...将仅发射

    \n
    

    ...但这不是未来的证明(一些字符串可能会以不同的引号发出,如果不是今天,那么在未来的实现中;因此,在输出中包括文字引号是安全的选择)。


    注意,在格式字符串中,可以使用 !r 修饰符以指示您想要 repr() 应用:

    print('Value: {!r}'.format('\n'))
    

    ...将发射:

    Value: '\n'