用python写一个文件夹递归复制的程序
时间: 2023-10-18 18:04:37 浏览: 153
Python Copy Folder Demo,主要涉及多线程+递归
以下是一个使用Python编写的递归复制文件夹的程序,可以将给定目录中的所有文件和子文件夹复制到目标目录中:
```
import os
import shutil
def copy_folder(src_folder, dst_folder):
"""
递归复制文件夹
"""
if not os.path.exists(dst_folder):
os.makedirs(dst_folder)
for item in os.listdir(src_folder):
src_path = os.path.join(src_folder, item)
dst_path = os.path.join(dst_folder, item)
if os.path.isdir(src_path):
copy_folder(src_path, dst_path)
else:
shutil.copy2(src_path, dst_path)
# 测试代码
src_folder = '/path/to/source/folder'
dst_folder = '/path/to/destination/folder'
copy_folder(src_folder, dst_folder)
```
说明:
- `os.listdir()` 方法返回目录中所有文件和子文件夹的列表。
- `os.path.isdir()` 方法返回一个布尔值,表示给定路径是否是一个文件夹。
- `os.path.join()` 方法用于拼接路径。
- `os.makedirs()` 方法用于创建目录(包括所有必要的父目录)。
- `shutil.copy2()` 方法用于将文件从源路径复制到目标路径。
在上面的代码中,我们首先检查目标文件夹是否存在,如果不存在则创建它。然后,我们遍历源文件夹中的所有文件和子文件夹。如果当前项是一个文件夹,则递归调用 `copy_folder()` 方法。否则,我们使用 `shutil.copy2()` 方法将文件从源路径复制到目标路径。
阅读全文