在Python 3.x中解析转义字符

时间:2019-06-13 00:17:13

标签: python python-3.x text

我有

path = "/Users/xx/datasets/yyy/DefinedTS\Training\00000"

我只想用'/'替换'\'转义字符。 我尝试过:

path.replace("/","\")

但是我得到了错误:扫描字符串文字时会停工

我还尝试了正则表达式,编写了自己的函数,试图转换为ascii并进行替换,但是一切似乎都反映了相同的问题。

编辑: 我是说我尝试过

path.replace("\","/")

感谢UncleZeiv指出。

3 个答案:

答案 0 :(得分:1)

由于\是特殊字符,因此需要用另一个\

进行转义

path = path.replace("/","\\")

答案 1 :(得分:1)

存在许多问题:

  • 您的path.replace行的语法不正确。 \是转义字符,因此需要通过在其他\前面加上前缀来进行转义。
  • path.replace的工作方式相反:首先是您要替换的东西,然后是您要替换的东西。
  • 您的字符串不再包含所有的反斜杠,因为它们已被解释为...转义字符。您需要创建一个“原始”字符串。

将它们放在一起:

path = r"/Users/xx/datasets/yyy/DefinedTS\Training\00000"
path = path.replace("\\", "/")
print(path)

答案 2 :(得分:0)

[已编辑]

看到UncleZeiv的答案后,我同意在将其替换为反斜杠之前,需要将其设置为原始字符串。所以应该是:

path = r"/Users/xx/datasets/yyy/DefinedTS\Training\00000"
path = path.replace("/","\\")