Python复制文件夹

Python复制文件夹

Python复制文件夹

概述

在Python中,复制文件夹是指将一个文件夹及其所有的子文件夹和文件复制到另一个目标文件夹中。这在处理文件和目录时经常会用到,特别是在需要备份或者迁移文件夹时。Python提供了多种方法来实现文件夹的复制,本文将详细介绍这些方法,并提供示例代码和运行结果。

方法一:使用shutil模块

Python中的shutil模块提供了复制文件和文件夹的功能,其中的copytree()函数可以直接复制整个文件夹。

import shutil

# 源文件夹路径
src_folder = "/path/to/source_folder"

# 目标文件夹路径
dest_folder = "/path/to/destination_folder"

# 复制文件夹
shutil.copytree(src_folder, dest_folder)
Python

运行上述代码,将会把src_folder文件夹及其所有内容复制到dest_folder中。

运行结果

示例的源文件夹结构如下:

source_folder/
├── file1.txt
├── file2.txt
└── subfolder/
    ├── file3.txt
    └── file4.txt
Python

复制后的目标文件夹结构如下:

destination_folder/
├── file1.txt
├── file2.txt
└── subfolder/
    ├── file3.txt
    └── file4.txt
Python

方法二:使用os模块

除了shutil模块外,Python的os模块也提供了复制文件和文件夹的功能。我们可以使用os.walk()函数遍历文件夹中的所有子文件夹和文件,然后使用os.makedirs()函数创建目标文件夹,再使用shutil.copy2()函数复制文件。

import os
import shutil

# 源文件夹路径
src_folder = "/path/to/source_folder"

# 目标文件夹路径
dest_folder = "/path/to/destination_folder"

# 遍历源文件夹
for root, dirs, files in os.walk(src_folder):
    # 构造目标文件夹路径
    dest_root = root.replace(src_folder, dest_folder)
    if not os.path.exists(dest_root):
        os.makedirs(dest_root)

    # 复制文件
    for file in files:
        src_path = os.path.join(root, file)
        dest_path = os.path.join(dest_root, file)
        shutil.copy2(src_path, dest_path)
Python

运行上述代码,将会把src_folder文件夹及其所有内容复制到dest_folder中。

运行结果

运行示例前,源文件夹结构如下:

source_folder/
├── file1.txt
├── file2.txt
└── subfolder/
    ├── file3.txt
    └── file4.txt
Python

复制后的目标文件夹结构如下:

destination_folder/
├── file1.txt
├── file2.txt
└── subfolder/
    ├── file3.txt
    └── file4.txt
Python

方法三:使用distutils.dir_util模块

Python的distutils模块中的dir_util模块也可以用来复制整个文件夹。其中的copy_tree()函数可以直接复制文件夹。

from distutils.dir_util import copy_tree

# 源文件夹路径
src_folder = "/path/to/source_folder"

# 目标文件夹路径
dest_folder = "/path/to/destination_folder"

# 复制文件夹
copy_tree(src_folder, dest_folder)
Python

运行上述代码,将会把src_folder文件夹及其所有内容复制到dest_folder中。

运行结果

示例的源文件夹结构如下:

source_folder/
├── file1.txt
├── file2.txt
└── subfolder/
    ├── file3.txt
    └── file4.txt
Python

复制后的目标文件夹结构如下:

destination_folder/
├── file1.txt
├── file2.txt
└── subfolder/
    ├── file3.txt
    └── file4.txt
Python

结论

本文介绍了三种常用的方法来实现Python中文件夹的复制,分别是使用shutil模块、os模块以及distutils.dir_util模块。根据实际需求,选择合适的方法来复制文件夹可以帮助我们更方便地处理文件和目录操作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册