使用Python实现获取文件夹下所有图片

如果你是刚入行的小白,想要用Python获取某个指定文件夹中所有的图片,下面的教程将带你走过这一过程。我们将分步骤介绍整个流程,并提供必要的代码及注释,以帮助你更好地理解。

一、流程概述

在开始之前,我们先列出这个任务的基本流程,便于你理解各个步骤之间的关联。

flowchart TD
    A[开始] --> B[导入必需的库]
    B --> C[定义文件夹路径]
    C --> D[遍历文件夹下所有文件]
    D --> E{文件是图片吗?}
    E -- 是 --> F[保存图片路径]
    E -- 否 --> D
    F --> G[输出所有图片路径]
    G --> H[结束]

流程分析

  1. 导入必需的库:我们需要的库是 osPillow
  2. 定义文件夹路径:设置需要遍历的文件夹路径。
  3. 遍历文件夹下所有文件:使用循环来获取文件夹中的每一项。
  4. 判断文件是否为图片:根据文件扩展名判断是否为图片。
  5. 保存图片路径:如果是图片,我们保存它的路径。
  6. 输出所有图片路径:最后,将所有图片路径打印出来。

二、每一步的代码实现

让我们深入每个步骤,看看如何实现它。

1. 导入必需的库

首先,我们需要导入 osPIL 库。

import os  # 导入os库,用于文件和目录操作
from PIL import Image  # 从PIL库导入Image模块,用于处理图片

2. 定义文件夹路径

接下来,我们需要定义需要遍历的文件夹路径:

folder_path = '你的文件夹路径'  # 替换为你的图片文件夹路径

3. 遍历文件夹下所有文件

使用 os.listdir() 函数可以列出文件夹中的所有文件:

all_files = os.listdir(folder_path)  # 获取文件夹下所有文件的名称列表

4. 判断文件是否为图片

我们将根据文件扩展名来判断是否为图片。常用的图片格式包括 .jpg, .jpeg, .png 等。

image_extensions = ['.jpg', '.jpeg', '.png', '.gif']  # 定义我们认为是图片的文件扩展名
image_paths = []  # 用于保存找到的图片路径

for file in all_files:  # 遍历文件列表
    _, ext = os.path.splitext(file)  # 分离文件名和扩展名
    if ext.lower() in image_extensions:  # 判断扩展名是否在我们的图像扩展名列表中
        image_paths.append(os.path.join(folder_path, file))  # 如果是图片,保存其完整路径

5. 输出所有图片路径

最后,输出所有找到的图片路径:

print("找到的图片路径:")
for path in image_paths:  # 遍历图片路径列表
    print(path)  # 打印出找到的每一张图片的路径

三、完整代码示例

将上述所有步骤整合,我们的完整代码如下:

import os  # 导入os库
from PIL import Image  # 导入PIL库的Image模块

folder_path = '你的文件夹路径'  # 替换为你的文件夹路径
all_files = os.listdir(folder_path)  # 获取文件夹中所有文件
image_extensions = ['.jpg', '.jpeg', '.png', '.gif']  # 定义图片扩展名
image_paths = []  # 初始化图片路径列表

for file in all_files:
    _, ext = os.path.splitext(file)  # 获取文件名和扩展名
    if ext.lower() in image_extensions:  # 检查文件扩展名
        image_paths.append(os.path.join(folder_path, file))  # 保存图片路径

print("找到的图片路径:")
for path in image_paths:  # 打印所有找到的图片路径
    print(path)

四、其他功能的扩展(饼状图)

在你熟悉了这个基本流程后,你还可以拓展更多功能,例如统计每种类型的图片数量,并生成一个饼状图,展现不同类型图片的比例:

pie
    title 图片类型分布
    "JPG": 40
    "PNG": 35
    "GIF": 25

结尾

以上就是用Python获取指定文件夹下所有图片的流程及实现代码。希望通过这篇文章,你能掌握这一基本的编程技能。在实际工作中,多尝试、多实践是提高自己能力的最好途径。如果你在过程中遇到任何问题,欢迎随时提问!祝你学习愉快,早日成为优秀的开发者!