繁体   English   中英

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

[英]Python regex replace backslash or frontslash

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

到目前为止我的工作:

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

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

这将打印字符串:

'C:\Users\Victor\Dropbox\Privateiles   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'

os.path.normcase

规范化路径名的大小写。 UnixMac OS X ,这将返回不变的路径。 在不区分大小写的文件系统上,它将路径转换为小写。 在Windows上,它也将正斜杠转换为反斜杠 如果路径类型不是strbytesTypeError

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM