Python 中的防止解析转义序列
使用原始字符串来防止转义序列解析,例如 my_str = r’one\two\three’。 当一个字符串以 r 为前缀时,它会将反斜杠视为文字字符并且不需要转义它们。
# ✅ Prevent escape sequence interpretation (raw string)
my_str = r'one\two\three'
print(my_str) # ?️ one\two\three
# -------------------------------------------
# ✅ Prevent escape sequence interpretation in file path (forward slashes)
file_name = '/Users/zadmei/Desktop/avatar.png'
# ?️ /Users/zadmei/Desktop/avatar.png
print(file_name)
第一个示例使用原始字符串来防止转义序列解析。
my_str = r'one\two\three'
print(my_str) # ?️ one\two\three
# ?️ 如果你不使用原始字符串
print('one\two\three') # ?️ one wo hree
原始字符串防止特殊字符自动转义。
以
r
为前缀的字符串称为原始字符串,并将反斜杠视为文字字符。
如果我们需要在字符串中使用变量,请使用格式化的字符串文字。
variable = 'two'
my_str = fr'one\{variable}\three'
print(my_str) # 👉️ one\two\three
格式化字符串文字 f-strings
让我们通过在字符串前加上 f 来在字符串中包含表达式。
确保将表达式用大括号括起来 – {expression}
。
请注意
,我们在字符串前加上了 fr 而不仅仅是 f。
如果我们正在构建一条路径,例如 对于目录或文件,我们可以使用正斜杠代替反斜杠。
file_name = '/Users/zadmei/Desktop/avatar.png'
# ?️ /Users/zadmei/Desktop/avatar.png
print(file_name)
当我们需要指定路径时,可以使用正斜杠代替反斜杠。
如果我们需要防止多行字符串中的转义序列解释,请使用三引号字符串。
my_str = r"""one
\two
\three"""
print(my_str)
三引号字符串使我们能够:
- 在同一个字符串中使用单引号和双引号而不转义
- 定义多行字符串而不添加换行符
转义反斜杠字符的另一种常见方法是使用第二个反斜杠。
my_str = 'one\\two\\three'
print(my_str) # ?️ one\two\three
第一个反斜杠是转义字符,第二个是文字字符。
反斜杠字符在 Python 中有特殊含义,因此要将它们视为文字字符,我们必须:
- 在字符串前加上 r 以将其标记为原始字符串
- 在路径中使用正斜杠代替反斜杠
- 用第二个反斜杠转义每个反斜杠
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。