为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

千万里不及你 2021-04-02 14:11:56
在python中,我试图用双反斜杠(“ \”)替换单个反斜杠(“ \”)。我有以下代码:directory = string.replace("C:\Users\Josh\Desktop\20130216", "\", "\\")但是,这给出了一条错误消息,表明它不喜欢双反斜杠。有人可以帮忙吗?
查看完整描述

3 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

无需使用str.replace或string.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'


查看完整回答
反对 回复 2021-04-06
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

让我简单明了。让我们在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函数对给定字符串中的特殊字符进行转义的情况,我们可以在每个反斜杠之前添加另一个反斜杠,最后输出结果是一个双反斜杠,即所需的输出。


希望这对您有所帮助。


查看完整回答
反对 回复 2021-04-06
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

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


查看完整回答
反对 回复 2021-04-06
  • 3 回答
  • 0 关注
  • 435 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信