Shutil 和 os 帮助复制文件

问题描述

import shutil
import os
import time

os.chdir('c:\\User\\user\\')

time.sleep(10)
shutil.copytree('Pictures','E:\\')

所以我浪费了一整天只是为了可以从我朋友那里窃取文件,但无论我做什么都无济于事!!!很抱歉生气但大声哭泣......我是一个初学者,所以我没有经历过程序员的地狱。帮帮忙!

解决方法

为了解决您的问题,最好报告您收到的错误消息,即PermissionError: [WinError 5] Access is denied: 'E:\\ '.

shutil.copytree() 的文档说

递归复制以src为根的整个目录树到一个目录 命名为 dst 并返回目标目录。 dirs_exist_ok 决定是否 在 dst 或任何缺失的父目录已经存在的情况下引发异常

这清楚地表明您必须命名一个新的目标文件夹,而这通常不应该存在。

使用 os.chdir() 会使事情变得过于复杂。您所要做的就是在调用 copytree() 时指定源文件夹的完整路径和新目标文件夹的完整路径,这样您最终会得到一个 2 行程序,如下所示:>

import shutil
shutil.copytree(r"C:\Users\user\Pictures",r"E:\mynewdir")