我正在尝试用双反斜杠替换字符串中的反斜杠或正斜杠。我尝试了几件事,但似乎没有用.--
到目前为止我的工作:
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'
答案 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'
规范化路径名的大小写。在
Unix
和Mac OS X
上,返回路径不变;在不区分大小写的文件系统上,它将路径转换为小写。 在Windows上,它还会将正斜杠转换为反斜杠。如果路径类型不是TypeError
或str
,请引发bytes
。