[英]Python regex replace backslash or frontslash
我正在尝试用双反斜杠替换字符串中的反斜杠或正斜杠。 我已经尝试了几件事,但是似乎没有用。
到目前为止我的工作:
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'
只需将字符串转换为原始字符串即可:
>>> 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
如果您真正要了解的是路径操纵,那么我将使用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上,它也将正斜杠转换为反斜杠 。 如果路径类型不是str
或bytes
则TypeError
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.