[英]Replace Backslashes with Forward Slashes in Python
我正在python中编写跨平台文件资源管理器。 我试图将路径中的任何反斜杠转换为正斜杠,以便以一种格式处理所有路径。
我已经尝试过不仅使用string.replace(str,'\\\\','/'),而且还手动创建一个方法来搜索字符串并替换实例,并且两者都无法正常工作,作为路径名如:
\dir\anotherdir\foodir\more
更改为:
/dir/anotherdir\x0oodir/more
我假设这与Python如何表示转义字符或类似的东西有关。 我该如何防止这种情况发生?
这不行:
>>> s = 'a\\b'
>>> s
'a\\b'
>>> print s
a\b
>>> s.replace('\\','/')
'a/b'
?
编辑:
当然这是一个基于字符串的解决方案,如果你正在处理文件系统路径,使用os.path是更明智的。
通过pathlib阐述这个答案 ,您可以使用as_posix方法:
>>> import pathlib
>>> p = pathlib.PureWindowsPath(r'\dir\anotherdir\foodir\more')
>>> print(p)
\dir\anotherdir\foodir\more
>>> print(p.as_posix())
/dir/anotherdir/foodir/more
>>> str(p)
'\\dir\\anotherdir\\foodir\\more'
>>> str(p.as_posix())
'/dir/anotherdir/foodir/more'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.