Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python shutil copy向路径添加额外的反斜杠_Python_Shutil - Fatal编程技术网

Python shutil copy向路径添加额外的反斜杠

Python shutil copy向路径添加额外的反斜杠,python,shutil,Python,Shutil,我正在尝试使用复制文件 from shutil import copy copy(filePath2, wavDir) 文件路径2是字符串,例如-N:\Tunes Netshare\Memory Stick Archive\Techno wav\Alexander\u Kowalski\uu--u Delicious.wav 但它给出了这个错误 我尝试了一些方法,例如使用os.join重建: tParentFolder = os.path.abspath(filePath2 + "

我正在尝试使用复制文件

from shutil import copy
copy(filePath2, wavDir)
文件路径2是字符串,例如-N:\Tunes Netshare\Memory Stick Archive\Techno wav\Alexander\u Kowalski\uu--u 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'
打印路径的字符串表示形式,而不是“实际”字符串。因此,反斜杠将被转义,就像您在字符串文本中转义它们一样,如:

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

这个错误仅仅意味着提供的文件或目录不存在,问题与您在屏幕上看到的双反斜杠无关。尝试
打印(文件)
,您将看到那里没有双反斜杠。

函数
shutil.copy()
不是“添加额外的反斜杠”。如下所示的错误消息:

FileNotFoundError: [Errno 2] No such file or directory: 'C:\\path\\file.ext'
打印路径的字符串表示形式,而不是“实际”字符串。因此,反斜杠将被转义,就像您在字符串文本中转义它们一样,如:

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

这个错误仅仅意味着提供的文件或目录不存在,问题与您在屏幕上看到的双反斜杠无关。尝试
打印(文件)
,您将看到那里没有双反斜杠。

如果打开
cmd.exe
并运行
dir“N:\Tunes Netshare\Memory Stick Archive\Alexander\u Kowalski\uu-\u Delicious.wav”
,它能工作吗?
wavDir
是否存在?我忍不住注意到,您描述为
filePath2
的内容包括一个未在您发布的错误中显示的目录(一个包含
Techno-wav
,另一个不包含)。反斜杠是一个模糊的概念,它只是一个字符串的
repr
,具有预期数量的反斜杠作为文件分隔符。实际的问题是,文件不存在于您正在查找的位置。@ShadowRanger-发现得很好。os.path.join()方法省略了路径中的一个目录,但是如果打开
cmd.exe
并运行
dir“N:\Tunes Netshare\Memory Stick Archive\Alexander\u Kowalski\uu-\u Delicious.wav”
,则使用filePath2直接显示目录中的完整路径,是否有效?
wavDir
是否存在?我忍不住注意到,您描述为
filePath2
的内容包括一个未在您发布的错误中显示的目录(一个包含
Techno-wav
,另一个不包含)。反斜杠是一个模糊的概念,它只是一个字符串的
repr
,具有预期数量的反斜杠作为文件分隔符。实际的问题是,文件不存在于您正在查找的位置。@ShadowRanger-发现得很好。join()方法在路径中省略了一个目录,但是使用filePath2直接在目录中显示完整路径谢谢!它确实存在,但由于某种原因无法访问-我需要弄清楚为什么会出现这种情况!它确实存在,但由于某种原因无法访问-我需要找出原因