当前位置:首页 > python > 正文

python复制文件夹

  • python
  • 2024-06-18 23:32:04
  • 8855

Python 提供了 shutil 模块来处理文件和文件夹操作。 其中 shutil.copytree() 函数可以递归地复制整个文件夹及其内容到新的位置。 以下是一个简单的示例:
python
import shutil
source_path = "/path/to/source/folder"
destination_path = "/path/to/destination/folder"
shutil.copytree(source_path, destination_path)
这个代码片段会将 source_path 指定的文件夹及其所有子文件夹和文件复制到 destination_path 指定的目录下。

使用 os.walk() 和 shutil.copy2() 复制文件夹


如果你需要更细致的控制,可以使用 os.walk() 函数遍历文件夹,并使用 shutil.copy2() 函数复制每个文件。 以下是一个示例:
python
import os
import shutil
source_path = "/path/to/source/folder"
destination_path = "/path/to/destination/folder"
for root, dirs, files in os.walk(source_path):
for file in files:
source_file = os.path.join(root, file)
destination_file = os.path.join(destination_path, os.path.relpath(source_file, source_path))
shutil.copy2(source_file, destination_file)
这段代码会遍历 source_path 中的所有文件,并将其复制到 destination_path 中对应的位置。

注意事项


需要注意的是,使用 shutil.copytree() 或 shutil.copy2() 复制文件时,可能会遇到以下问题:
文件权限: 如果目标文件夹没有写入权限,复制操作可能会失败。
文件冲突: 如果目标文件夹中已经存在同名文件,复制操作可能会被覆盖或失败。
符号链接: 如果源文件夹包含符号链接,复制操作可能会导致错误。
在复制文件夹之前,建议先检查目标文件夹的权限和是否已经存在同名文件,并根据需要进行处理。