shutil 复制向路径添加额外的反斜杠

shutil copy adding extra backslashes to paths

我正在尝试使用

复制文件
from shutil import copy
copy(filePath2, wavDir)

filePath2 是字符串,例如 - N:\Tunes Netshare\Memory Stick Archive\Techno wav\Alexander_Kowalski_-_Delicious.wav

但它给出了这个错误

我尝试了一些方法,例如使用 os.join 进行重建:

tParentFolder = os.path.abspath(filePath2 + "/../../")
fileName2 = os.path.splitext(os.path.basename(filePath2))[0]
file =  os.path.join(tParentFolder, fileName2 + ".wav")
copy(file, wavDir)

我也尝试过 pathlib,例如 Path(filePath2)、PureWindowsPath(filePath2) 等,但都给出了相同的错误

函数shutil.copy()不是“添加额外的反斜杠”。类似这样的错误消息:

FileNotFoundError: [Errno 2] No such file or directory: 'C:\path\file.ext'

打印路径的字符串表示,而不是 'actual' 字符串。因此,反斜杠被转义,就像您在字符串文字中转义它们一样,例如:

my_path = 'C:\path\file.ext'

该错误仅表示提供的文件或目录不存在,该问题与您在屏幕上看到的双反斜杠无关。尝试 print(file),您会发现那里没有双反斜杠。