将普通Python字符串转换为原始字符串

118 投票
12 回答
230983 浏览
提问于 2025-04-16 08:23

我有一个字符串 s,它的内容是变化的。我想把它变成一个原始字符串。有没有类似于 r'' 的方法可以做到这一点?

12 个回答

47

因为在Python中,字符串是不可改变的,也就是说你不能把一个字符串“改成”其他的样子。不过,你可以从原来的字符串s 创建一个新的原始字符串,方法是这样的:

raw_s = r'{}'.format(s)

89

原始字符串并不是一种不同类型的字符串。它只是一种在你的代码中描述字符串的不同方式。一旦字符串被创建,它就是它本来的样子。

93

我觉得你想要的功能是使用 str.encode("string-escape") 这个函数。比如说,如果你有一个变量,你想把它变成“原始字符串”:

a = '\x89'
a.encode('unicode_escape')
'\\x89'

注意:在 Python 2.x 及更早的版本中使用 string-escape

我在寻找类似的解决方案时,找到了这个方法,链接在这里: casting raw strings python

撰写回答