python用双反斜杠替换单反斜杠

2024-04-25 15:26:32 发布

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

在python中,我试图用双反斜杠(“\”)替换单个反斜杠(“\”)。我有以下代码:

directory = string.replace("C:\Users\Josh\Desktop\20130216", "\", "\\")

但是,这会给出一条错误消息,说它不喜欢双反斜杠。有人能帮忙吗?


Tags: 代码消息string错误usersdirectoryreplacedesktop
3条回答

不需要在这里使用str.replacestring.replace,只需将该字符串转换为原始字符串:

>>> strs = r"C:\Users\Josh\Desktop\20130216"
           ^
           |
       notice the 'r'

下面是上面字符串的repr版本,这就是您在这里看到\\的原因。 但实际上,实际字符串只包含'\',而不包含\\

>>> strs
'C:\\Users\\Josh\\Desktop\\20130216'

>>> s = r"f\o"
>>> s            #repr representation
'f\\o'
>>> len(s)   #length is 3, as there's only one `'\'`
3

但是当您要打印这个字符串时,您将无法在输出中获得'\\'

>>> print strs
C:\Users\Josh\Desktop\20130216

如果希望字符串在print期间显示'\\',请使用str.replace

>>> new_strs = strs.replace('\\','\\\\')
>>> print new_strs
C:\\Users\\Josh\\Desktop\\20130216

repr版本现在将显示\\\\

>>> new_strs
'C:\\\\Users\\\\Josh\\\\Desktop\\\\20130216'

让我简单明了。让我们使用python中的re模块来转义特殊字符。

Python脚本:

import re
s = "C:\Users\Josh\Desktop"
print s
print re.escape(s)

输出:

C:\Users\Josh\Desktop
C:\\Users\\Josh\\Desktop

说明:

现在请注意re.escape函数在转义给定字符串中的特殊字符时,我们可以在每个反斜杠之前添加另一个反斜杠,最后输出结果是一个双反斜杠,即所需的输出。

希望这对你有帮助。

使用转义字符:"full\\path\\here""\\""\\\\"

相关问题 更多 >

    热门问题