如何使用Python中的单个库(假设为`shutil`)通过深度优先搜索的方式,将D盘上的特定文件夹逐层复制到E盘?请提供相应的示例代码。
时间: 2025-01-02 13:48:54 浏览: 9
在Python中,你可以使用`shutil`库中的`copytree()`函数,配合递归功能,实现从D盘到E盘的深度优先文件夹复制。下面是一个简单的示例,假设源文件夹位于'd:/source',目标文件夹位于'e:/target':
```python
import os
import shutil
def deep_copy_tree(src, dst):
# 检查源路径是否有效
if not os.path.isdir(src):
print(f"源路径 {src} 不是一个有效的目录")
return
# 创建目标目录,如果不存在
if not os.path.exists(dst):
os.makedirs(dst)
# 使用shutil.copytree进行递归复制
try:
shutil.copytree(src, dst)
print(f"{src} 文件夹已成功复制到 {dst}")
except FileExistsError:
print(f"{dst} 目录已存在,跳过复制")
except PermissionError:
print("没有足够的权限复制文件或目录,请检查权限设置")
except Exception as e:
print(f"复制过程中发生错误:{e}")
# 替换为你想要复制的具体文件夹路径
deep_copy_tree('d:/source', 'e:/target')
```
这段代码会将'd:/source'下的所有文件和子文件夹都递归地复制到'e:/target'。记得检查权限以及目标位置是否有其他程序占用。
阅读全文