如何在 Python 中忽略反斜杠作为转义字符?
How to ignore backslashes as escape characters in Python?
我知道这与许多其他有关反斜杠的问题类似,但它处理的是一个尚未解决的特定问题。有没有一种模式可以用来完全消除反斜杠作为打印语句中的转义字符?对于 ascii 艺术我需要知道这一点,因为当所有反斜杠必须加倍时很难找到正确的定位。
print('''
/\/\/\/\/\
\/\/\/\/\/
''')
\```
在字符串前面加上 r
(我认为是 "raw"),它会在没有替换的情况下按字面解释:
>>> # Your original
>>> print('''
... /\/\/\/\/\
... \/\/\/\/\/
... ''')
/\/\/\/\/\
\/\/\/\/\/
>>> # as a raw string instead
>>> print(r'''
... /\/\/\/\/\
... \/\/\/\/\/
... ''')
/\/\/\/\/\
\/\/\/\/\/
这些通常用于正则表达式,其中必须双转义反斜杠会变得乏味。您可以使用其他几个字母来执行此操作,包括 f
(用于格式字符串,其行为不同)、b
(文字 bytes
对象,而不是字符串)和u
,用于在 python 2 中指定 Unicode 字符串,我认为在 python 3 中没有什么特别之处。
我知道这与许多其他有关反斜杠的问题类似,但它处理的是一个尚未解决的特定问题。有没有一种模式可以用来完全消除反斜杠作为打印语句中的转义字符?对于 ascii 艺术我需要知道这一点,因为当所有反斜杠必须加倍时很难找到正确的定位。
print('''
/\/\/\/\/\
\/\/\/\/\/
''')
\```
在字符串前面加上 r
(我认为是 "raw"),它会在没有替换的情况下按字面解释:
>>> # Your original
>>> print('''
... /\/\/\/\/\
... \/\/\/\/\/
... ''')
/\/\/\/\/\
\/\/\/\/\/
>>> # as a raw string instead
>>> print(r'''
... /\/\/\/\/\
... \/\/\/\/\/
... ''')
/\/\/\/\/\
\/\/\/\/\/
这些通常用于正则表达式,其中必须双转义反斜杠会变得乏味。您可以使用其他几个字母来执行此操作,包括 f
(用于格式字符串,其行为不同)、b
(文字 bytes
对象,而不是字符串)和u
,用于在 python 2 中指定 Unicode 字符串,我认为在 python 3 中没有什么特别之处。