使用Python 3.2转义字符串中的转义字符

发布于 2021-01-29 16:58:06

假设我在Python 3.2中有一个这样的字符串:

'\n'

当我将它print()到控制台时,显然它将显示为新行。我想要的是能够将其打印为反斜杠后跟n。此外,我需要对所有转义字符(例如\
t)执行此操作。因此,我正在寻找一个unescape()函数,在一般情况下,它的工作原理如下:

>>> s = '\n\t'
>>> print(unescape(s)) 
'\\n\\t'

是否可以在Python中实现,而无需构造转义字符字典来代替其原义替换呢?

(如果有人感兴趣,我这样做的原因是因为我需要将该字符串传递给命令行上的外部程序。该程序可以理解所有标准转义序列。)

关注者
0
被浏览
167
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    为了防止\对文字字符串进行特殊处理,可以使用r前缀:

    s = r'\n'
    print(s)
    # -> \n
    

    如果您的字符串包含换行符(ord(s) == 10),并且希望将其转换为适合Python文字的形式:

    s = '\n'
    s = s.encode('unicode-escape').decode()
    print(s)
    # -> \n
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看