在Python3.x中解析转义字符
我有在Python3.x中解析转义字符,python,python-3.x,text,Python,Python 3.x,Text,我有 path=“/Users/xx/datasets/yyy/DefinedTS\Training\00000” 我只想用“/”替换“\”转义字符。 我试过: path.replace("/","\") 但我得到了一个错误:EOL在扫描字符串文字时 我还尝试了regex,编写了自己的函数,尝试转换为ascii并替换,但似乎所有的事情都反映了同样的问题 编辑: 我是说我试过了 path.replace(“\”,“/”) 感谢Uncleziv指出它。因为\是一个特殊字符,所以需要用另一个字符
path=“/Users/xx/datasets/yyy/DefinedTS\Training\00000”
我只想用“/”替换“\”转义字符。
我试过:
path.replace("/","\")
但我得到了一个错误:EOL在扫描字符串文字时
我还尝试了regex,编写了自己的函数,尝试转换为ascii并替换,但似乎所有的事情都反映了同样的问题
编辑:
我是说我试过了
path.replace(“\”,“/”)
感谢Uncleziv指出它。因为\是一个特殊字符,所以需要用另一个字符转义\
path=path.replace(“/”,“\\”)
[编辑]
在看到Unclzeiv的答案后,我同意您需要在用反斜杠替换它之前将其设置为原始字符串。因此,它应该是:
path = r"/Users/xx/datasets/yyy/DefinedTS\Training\00000"
path = path.replace("/","\\")
有许多问题:
行的语法不正确路径.replace
是转义字符,因此需要通过在另一个\
前面加上前缀来转义它\
的工作方式正好相反:首先是要替换的东西,然后是要替换的东西path.replace
- 您的字符串不再包含所有反斜杠,因为它们已被解释为。。。转义字符。您需要创建一个“原始”字符串
path = r"/Users/xx/datasets/yyy/DefinedTS\Training\00000"
path = path.replace("\\", "/")
print(path)
看看这个,它可能会有帮助:。实际上,“下线”的意思是“线的终点”。不是python方面的专家,但它可能与
\n
有关,即行尾,其中包含一个“\`是的,这就是问题所在。我用下面我接受的答案解决了这个问题:)谢谢谢谢。这起作用了。不过还有一件事:.replace不是就地操作,因此我必须将其分配给新变量。