Python 用单反斜杠替换双反斜杠

Python replace Double Backlash with Single Bcklash

我正在尝试将 Pathlib 中的 window 路径转换为字符串。

但是,我无法将 \\ 转换为 \

密码我运行

    fileDir = pathlib.Path(self.CURRENTDATAPATH)
    fileExt = r"*.xlsx"
    
    for item in list(pathlib.Path(fileDir).glob(fileExt)):
        self.XLSXLIST.append( str(item).replace( '\\', "\") )

得到结果:

['D:\data\test.xlsx']

我想得到这个结果

['D:\data\test.xlsx']

反斜杠用于转义字符串中的特殊字符。要转义反斜杠,您应该在它前面使用另一个反斜杠 '\'

在构造字符串时,可以在原始字符串前使用前导 r 符号以避免转义。

print(r'\a\b\c')

输出是

\a\b\c

回显输出总是以转义方式显示,但不影响您的使用。

# echo of string s=r'\a\b\c'
'\a\b\c'

所以,你的代码是运行如你所愿,输出是正确的,只是换了一种显示格式。