在 Windows 上使用 shutil.copyfile() 的 IOError
IOError using shutil.copyfile() on Windows
我已经尝试制作我的第一个 Python 程序,它将复制一个文件夹中的所有文件并将它们粘贴到另一个文件夹中:
import shutil
shutil.copyfile("C:\Users\USER\Desktop\MoveFrom\Test.txt",
"C:\Users\USER\Desktop\MoveTo")
但我不断收到错误消息,但无法弄清楚原因:
Traceback (most recent call last):
File "C:\Users\USER\Desktop\Python\movefiles.py", line 2, in <module>
shutil.copyfile("C:\Users\USER\Desktop\MoveFrom\Test.txt", "C:\Users\USER\Desktop\MoveTo")
File "C:\PYTHON27\lib\shutil.py", line 83, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 13] Permission denied: 'C:\Users\USER\Desktop\MoveTo'
您需要 copy()
而不是 copyfile()
,请参阅 https://docs.python.org/2/library/shutil.html。
Copy the contents (no metadata) of the file named src to a file named dst. dst must be the complete target file name; look at shutil.copy() for a copy that accepts a target directory path.
使用 shutil.copyfile()
,您需要提供完整的目标路径(包括新文件名),而不是像使用 copy
命令那样只提供目标目录。
另外,请注意,在大多数语言中,反斜杠在字符串文字内部由语言进行特殊解释。所以你使用的路径是完全无效的。您需要在路径中 转义 反斜杠(通过在每个反斜杠前面添加另一个反斜杠),或者使用 r
前缀,这告诉 Python 不专门解释反斜杠。
import shutil
shutil.copyfile(
r"C:\Users\USER\Desktop\MoveFrom\Test.txt",
r"C:\Users\USER\Desktop\MoveTo\Test.txt")
我已经尝试制作我的第一个 Python 程序,它将复制一个文件夹中的所有文件并将它们粘贴到另一个文件夹中:
import shutil
shutil.copyfile("C:\Users\USER\Desktop\MoveFrom\Test.txt",
"C:\Users\USER\Desktop\MoveTo")
但我不断收到错误消息,但无法弄清楚原因:
Traceback (most recent call last):
File "C:\Users\USER\Desktop\Python\movefiles.py", line 2, in <module>
shutil.copyfile("C:\Users\USER\Desktop\MoveFrom\Test.txt", "C:\Users\USER\Desktop\MoveTo")
File "C:\PYTHON27\lib\shutil.py", line 83, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 13] Permission denied: 'C:\Users\USER\Desktop\MoveTo'
您需要 copy()
而不是 copyfile()
,请参阅 https://docs.python.org/2/library/shutil.html。
Copy the contents (no metadata) of the file named src to a file named dst. dst must be the complete target file name; look at shutil.copy() for a copy that accepts a target directory path.
使用 shutil.copyfile()
,您需要提供完整的目标路径(包括新文件名),而不是像使用 copy
命令那样只提供目标目录。
另外,请注意,在大多数语言中,反斜杠在字符串文字内部由语言进行特殊解释。所以你使用的路径是完全无效的。您需要在路径中 转义 反斜杠(通过在每个反斜杠前面添加另一个反斜杠),或者使用 r
前缀,这告诉 Python 不专门解释反斜杠。
import shutil
shutil.copyfile(
r"C:\Users\USER\Desktop\MoveFrom\Test.txt",
r"C:\Users\USER\Desktop\MoveTo\Test.txt")