Python 拷贝文件夹下所有的图片资源

在日常开发过程中,我们经常需要处理图片资源,比如将图片从一个文件夹拷贝到另一个文件夹。在Python中,我们可以使用shutil模块来实现这个功能。本文将介绍如何使用Python来拷贝一个文件夹下所有的图片资源,并提供相应的代码示例。

shutil模块简介

shutil模块是Python的标准库之一,提供了一系列对文件和文件夹进行操作的函数。其中,shutil.copy()函数可以用来拷贝文件,shutil.copytree()函数可以用来拷贝文件夹及其内容。

拷贝文件夹下所有的图片资源

假设我们有一个名为images的文件夹,其中包含了各种图片资源,我们希望将这些图片资源拷贝到另一个文件夹new_images中。下面是实现这个功能的Python代码示例:

import os
import shutil

def copy_images(source_folder, dest_folder):
    if not os.path.exists(dest_folder):
        os.makedirs(dest_folder)
    
    for root, dirs, files in os.walk(source_folder):
        for file in files:
            if file.endswith(('.png', '.jpg', '.jpeg', '.gif')):
                shutil.copy(os.path.join(root, file), dest_folder)

source_folder = 'images'
dest_folder = 'new_images'
copy_images(source_folder, dest_folder)

在上面的代码中,我们定义了一个copy_images()函数,该函数接受两个参数:源文件夹路径和目标文件夹路径。我们首先检查目标文件夹是否存在,如果不存在则创建。然后使用os.walk()函数遍历源文件夹下的所有文件和子文件夹,对每个文件进行判断,如果是图片文件则拷贝到目标文件夹中。

序列图

下面是一个使用mermaid语法表示的拷贝图片资源的序列图:

sequenceDiagram
    participant User
    participant PythonScript
    participant SourceFolder
    participant DestFolder
    User->>PythonScript: 启动Python脚本
    PythonScript->>SourceFolder: 扫描源文件夹
    SourceFolder->>PythonScript: 返回文件列表
    PythonScript->>DestFolder: 创建目标文件夹
    loop 拷贝图片
        PythonScript->>DestFolder: 拷贝图片文件
    end
    PythonScript-->>User: 拷贝完成

饼状图

下面是一个使用mermaid语法表示的图片资源类型分布的饼状图:

pie
    title 图片资源类型分布
    "PNG" : 30
    "JPG" : 25
    "JPEG" : 20
    "GIF" : 15
    "其他" : 10

结语

通过本文的介绍,我们学习了如何使用Python来拷贝一个文件夹下所有的图片资源,并使用序列图和饼状图展示了整个过程。希望本文对你有所帮助,谢谢阅读!