在python3.x中解析转义字符

2024-06-06 09:39:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有

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

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

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

但是我得到了一个错误:EOL在扫描字符串时

我也尝试过regex,编写自己的函数,尝试转换成ascii并替换,但似乎所有的东西都反映了同样的问题。你知道吗

编辑: 我是说我试过了

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

感谢克莱泽夫指出了这一点。你知道吗


Tags: path函数字符串错误trainingasciiusersreplace
3条回答

有许多问题:

  • path.replace行的语法不正确。\是一个转义字符,因此需要在另一个\前面加上转义符。你知道吗
  • path.replace的工作原理正好相反:首先是你想替换的东西,然后是你想替换的东西。你知道吗
  • 您的字符串不再包含所有反斜杠,因为它们已被解释为。。。转义字符。您需要创建一个“原始”字符串。你知道吗

综合起来:

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

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

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

[已编辑]

在看到unclzeiv的答案之后,我同意在用反斜杠替换它之前,您需要将它变成一个原始字符串。所以应该是:

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

相关问题 更多 >