我已经尝试制作我的第一个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'
答案 0 :(得分:3)
使用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")
答案 1 :(得分:0)
您需要copy()
而不是copyfile()
,请参阅https://docs.python.org/2/library/shutil.html。
将名为src的文件的内容(无元数据)复制到名为dst的文件中。 dst必须是完整的目标文件名;查看shutil.copy()以获取接受目标目录路径的副本。