Python 在Windows上使用shutil.copyfile()时发生IOError
我已经尝试制作了我的第一个Python程序,它将从一个文件夹复制所有文件并粘贴到另一个文件夹中:Python 在Windows上使用shutil.copyfile()时发生IOError,python,windows,shutil,Python,Windows,Shutil,我已经尝试制作了我的第一个Python程序,它将从一个文件夹复制所有文件并粘贴到另一个文件夹中: import shutil shutil.copyfile("C:\Users\USER\Desktop\MoveFrom\Test.txt", "C:\Users\USER\Desktop\MoveTo") 但我一直收到一条错误消息,无法找出原因: 回溯(最近一次呼叫最后一次): 文件“C:\Users\USER\Desktop\Python\movefiles.
import shutil
shutil.copyfile("C:\Users\USER\Desktop\MoveFrom\Test.txt",
"C:\Users\USER\Desktop\MoveTo")
但我一直收到一条错误消息,无法找出原因:
回溯(最近一次呼叫最后一次):
文件“C:\Users\USER\Desktop\Python\movefiles.py”,第2行,在
copyfile(“C:\Users\USER\Desktop\MoveFrom\Test.txt”,“C:\Users\USER\Desktop\MoveTo”)
copyfile中第83行的文件“C:\PYTHON27\lib\shutil.py”
开放式(dst,“wb”)作为fdst:
IOError:[Errno 13]权限被拒绝:“C:\\Users\\USER\\Desktop\\MoveTo”
您需要copy()
而不是copyfile()
,请参阅
将名为src的文件的内容(无元数据)复制到名为dst的文件中。dst必须是完整的目标文件名;查看shutil.copy()中接受目标目录路径的副本
使用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")