我想用两个带有单个反斜杠的反斜杠替换一个字符串。然而,替换似乎并不接受' \\'作为替换字符串。这是解释器输出:
>>> import tempfile
>>> temp_folder = tempfile.gettempdir()
>>> temp_folder
'C:\\Users\\User\\AppData\\Local\\Temp'
>>> temp_folder.replace('\\\\', '\\')
'C:\\Users\\User\\AppData\\Local\\Temp'
BTW,我知道Windows路径需要包含双反斜杠或单个正斜杠。无论如何我想替换它们用于显示目的。
答案 0 :(得分:3)
您的输出没有双反斜杠。您正在查看的是字符串的repr()
值,并显示转义后的反斜杠。假设你的temp_folder
有双反斜杠,你应该使用:
print(temp_folder.replace('\\\\', '\\'))
这会告诉你:
C:\Users\User\AppData\Local\Temp
也会删除引号。
但是你的temp_folder
不太可能有双反斜杠,显示的这种差异可能让你认为tempfile.gettempdir()
的返回值中有双反斜杠。正如@ Jean-Francois指出的那样,不应该(至少不是在Windows上)。因此,您不需要使用.replace()
,只需打印:
print(temp_folder)