如何解决如何在python3中将反斜杠字符串转换为正斜杠字符串?
我在我的 ubuntu 机器上使用 python3。 我有一个字符串变量,它包含一个带反斜杠的路径,我需要将它转换为正斜杠字符串。所以我尝试了
import pathlib
s = '\dir\wnotherdir\joodir\more'
x = repr(s)
p = pathlib.PureWindowsPath(x)
print(p.as_posix())
这将正确打印为
/dir/wnotherdir/joodir/more
但是对于不同的其他字符串路径,它的行为很奇怪。例如,对于字符串,
'\dir\aotherdir\oodir\more'
它正确替换了反斜杠,但由于原始字符串中的字符“a”而导致值错误
/dir/x07otherdir/oodir/more
这种行为的原因是什么?
解决方法
这与路径本身无关。这里的问题是 \a
被解释为 ASCII BELL。根据经验,每当您想禁用 escaped
字符串文字的特殊解释时,您应该使用 raw
字符串:
>>> import pathlib
>>> r = r'\dir\aotherdir\oodir\more'
>>> pathlib.PureWindowsPath(r)
PureWindowsPath('/dir/aotherdir/oodir/more')
>>>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。