返回

Python 按文件名特性复制文件到不同目标文件夹的自动化指南

后端

Python 强大的文件操作功能使您可以轻松实现基于文件名特征的复杂文件复制操作。本文将为您提供一个分步指南,说明如何使用 Python 遍历多个文件夹中的大量子文件夹,并根据每个文件的名称创建多个目标文件夹,将指定文件复制到不同的目标文件夹中。

导入必要的模块

首先,您需要导入必要的 Python 模块,包括 os 模块用于文件和目录操作,glob 模块用于遍历文件夹,shutil 模块用于复制文件。

import os
import glob
import shutil

遍历文件夹

使用 glob.glob() 方法遍历包含子文件夹的大文件夹。此方法将返回子文件夹的路径列表。

base_dir = "path/to/base_directory"
subfolders = glob.glob(os.path.join(base_dir, "*"))

创建目标文件夹

接下来,遍历子文件夹并创建基于文件名特征的不同目标文件夹。例如,您可以根据文件扩展名创建目标文件夹。

for subfolder in subfolders:
    file_types = set()
    for file in os.listdir(subfolder):
        file_types.add(os.path.splitext(file)[1])

    for file_type in file_types:
        target_dir = os.path.join(base_dir, file_type)
        if not os.path.exists(target_dir):
            os.makedirs(target_dir)

复制文件

最后,遍历子文件夹中的文件并根据文件名复制它们到相应的目标文件夹。

for subfolder in subfolders:
    for file in os.listdir(subfolder):
        target_dir = os.path.join(base_dir, os.path.splitext(file)[1])
        source_file = os.path.join(subfolder, file)
        target_file = os.path.join(target_dir, file)
        shutil.copy2(source_file, target_file)

结论

通过遵循这些步骤,您可以使用 Python 自动化文件复制任务,根据文件名特征将文件复制到不同目标文件夹中。这种方法非常适合需要批量组织和管理大量文件的情况。