Python正则表达式替换反斜杠或前言

时间:2014-07-15 22:29:00

标签: python regex string replace

我正在尝试用双反斜杠替换字符串中的反斜杠或正斜杠。我尝试了几件事,但似乎没有用.--

到目前为止我的工作:

string = 'C:\Users\Victor\Dropbox\Private\files\test.txt'

f = re.sub(r'[\\\/]', '\\\\', string)

这会打印字符串:

'C:\Users\Victor\Dropbox\Privateiles   est.txt'

但我真正想要的是一个看起来像这样的字符串:

'C:\\Users\\Victor\\Dropbox\\Private\\files\\test.txt'

因此,当我打印字符串时,它将看起来像原始

'C:\Users\Victor\Dropbox\Private\files\test.txt'

2 个答案:

答案 0 :(得分:3)

只需将该字符串转换为原始字符串:

>>> string = r'C:\Users\Victor\Dropbox\Private\files\test.txt'
>>> string
'C:\\Users\\Victor\\Dropbox\\Private\\files\\test.txt'
>>> print string
C:\Users\Victor\Dropbox\Private\files\test.txt

答案 1 :(得分:1)

如果你真正得到的是路径操作,我只使用os模块。

>>> s = r'C:\Users\Victor\Dropbox\Private\files\test.txt'
>>> import os
>>> os.path.normcase(s)
'C:\\Users\\Victor\\Dropbox\\Private\\files\\test.txt'

os.path.normcase

  

规范化路径名的大小写。在UnixMac OS X上,返回路径不变;在不区分大小写的文件系统上,它将路径转换为小写。 在Windows上,它还会将正斜杠转换为反斜杠。如果路径类型不是TypeErrorstr,请引发bytes