首页 > 解决方案 > 复制目录而不是文件时,shutil.copy() 拒绝权限

问题描述

这是我执行的代码: shutil.copy(r'd:\try',r'd:\new') 我得到的输出是:

Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
shutil.copy(r'd:\try',r'd:\new')
File "C:\Users\Username\AppData\Local\Programs\Python\Python38-32\lib\shutil.py", line 415, in copy
copyfile(src, dst, follow_symlinks=follow_symlinks)
File "C:\Users\username\AppData\Local\Programs\Python\Python38-32\lib\shutil.py", line 261, in copyfile
with open(src, 'rb') as fsrc, open(dst, 'wb') as fdst:
PermissionError: [Errno 13] Permission denied: 'd:\\try'

仅当我尝试复制文件夹时才会出现此权限错误,但复制文件时不会发生此错误。如何解决这个问题?

标签: pythonshutil

解决方案


正如可以在文档中看到的,shutil.copy()用于复制文件

要复制目录,请shutil.copytree()改用:

shutil.copytree(r'd:\try', r'd:\new')

推荐阅读