Python 字符串文字中的转义斜杠
我试图在字典里避开“/”。此目录包含许多URL 这是正确的-Python 字符串文字中的转义斜杠,python,Python,我试图在字典里避开“/”。此目录包含许多URL 这是正确的- >>> url = "https://docs.python.org/2/reference/expressions.html" >>> print url.replace('/','\\/') https:\/\/docs.python.org\/2\/reference\/expressions.html 但是当我把同样的模式放进我的dict时,我得到了不同的结果。我确信这与字符串文字有关,
>>> url = "https://docs.python.org/2/reference/expressions.html"
>>> print url.replace('/','\\/')
https:\/\/docs.python.org\/2\/reference\/expressions.html
但是当我把同样的模式放进我的dict时,我得到了不同的结果。我确信这与字符串文字有关,但我不确定如何继续
try:
data["URL"] = url.replace('/','\\/')
返回:
"http:\\/\\/docs.python.org"
不,这与数据的显示方式有关。字符串包含您期望的内容。问题是,您没有打印字符串,而是打印
repr(字符串)
,它显示了字符串的文本字符串表示形式(即如何在代码中键入字符串文本),因此它包括反斜杠的转义。使用repr()或eval()在字典中调用时抛出语法错误。我发现的解决方法是在返回url时使用最终字典,并在本地字典外部而不是内部使用replace函数 这是字符串表示法。试着打印它看起来你可能会对字符串的表示方式和它的值感到困惑。为什么要这样“转义”这些字符串?斜杠不需要转义。是什么让你认为你需要逃离他们?有可能对他们进行评估吗?比如:eval(url.replace('/','\\/')是否可能?对你应该做些什么?不