功能相当于在Python中使用“r”前置字符串

时间:2013-03-28 16:33:11

标签: python string

我写得很好

s = r"some line\n"

但与r预先平等的功能相同?例如:

s = raw_rep( s )

2 个答案:

答案 0 :(得分:2)

没有一个。 rstring literal token的组成部分,省略它是一种有损操作。

例如,r'\n'r'\12'r'\x0a'是三个不同的字符串。但是,如果省略r,它们就会变得相同,从而无法分辨这三者中​​的哪一个。

出于这个原因,这不是在100%的时间内重建原始字符串的方法。

答案 1 :(得分:2)

def raw_rep(s):
    quote = '"' if "'" in s else "'"
    return 'r' + quote + s + quote

>>> print raw_rep(r'some line\n')
r'some line\n'