Python将文件夹内所有文件合并到一个文件夹

2024年04月19日 Python将文件夹内所有文件合并到一个文件夹 极客笔记

Python将文件夹内所有文件合并到一个文件夹

在日常工作和生活中,我们经常需要处理各种文件夹中的文件,有时候需要将这些文件合并到一个文件夹中。在Python中,我们可以使用一些简单的操作来实现这个功能。本文将详细介绍如何使用Python将一个文件夹内所有文件合并到一个文件夹中。

准备工作

在开始之前,我们需要先安装Python和一个非常实用的第三方库shutil。如果你还没有安装shutil,可以使用pip命令进行安装:

pip install shutil

安装完成后,我们就可以开始写代码了。

实现代码

下面是一个简单的Python脚本,用来将一个文件夹内所有文件合并到一个文件夹中:

import os
import shutil

def merge_folders(source_folder, destination_folder):
    if not os.path.exists(source_folder) or not os.path.exists(destination_folder):
        print("文件夹不存在")
        return

    for item in os.listdir(source_folder):
        source_path = os.path.join(source_folder, item)
        destination_path = os.path.join(destination_folder, item)

        if os.path.isdir(source_path):
            shutil.copytree(source_path, destination_path)
        else:
            shutil.copy2(source_path, destination_path)

    print("文件合并完成")

source_folder = "path_to_source_folder"
destination_folder = "path_to_destination_folder"

merge_folders(source_folder, destination_folder)

在上面的代码中,我们首先导入了os和shutil库。然后定义了一个函数merge_folders,该函数接受两个参数,分别是源文件夹和目标文件夹的路径。函数中我们首先判断源文件夹和目标文件夹是否存在,如果不存在则直接返回。然后遍历源文件夹中的所有文件和文件夹,分别使用shutil.copytree和shutil.copy2函数将它们复制到目标文件夹中。

最后我们调用merge_folders函数,传入源文件夹和目标文件夹的路径,即可实现文件夹内所有文件的合并。

运行结果

假设我们有以下的文件夹结构:

folder
│   file1.txt
│   file2.png
│
└───subfolder
    │   file3.pdf
    │   file4.jpg

我们希望将文件夹folder中的所有文件合并到一个名为merged_folder的文件夹中,那么我们只需要如下操作:

source_folder = "path_to_folder"
destination_folder = "path_to_merged_folder"

merge_folders(source_folder, destination_folder)

运行以上代码后,文件夹merged_folder中将会包含所有来自源文件夹的文件:

merged_folder
│   file1.txt
│   file2.png
│   file3.pdf
│   file4.jpg

通过这种简单的方式,我们可以轻松地将一个文件夹内的所有文件合并到另一个文件夹中,帮助我们处理文件时更加高效和便捷。

本文链接:http://so.lmcjl.com/news/2567/

展开阅读全文