Python遍历文件夹读取图片技巧

![Image](

引言

在日常的编程工作中,经常会遇到需要遍历文件夹并读取其中的图片文件的需求。例如,我们可能需要对图片进行处理、分析或者展示。Python作为一门强大的编程语言,提供了丰富的库和函数来实现这一功能。本文将介绍如何使用Python遍历文件夹,并读取其中的图片文件。

目录

1. 准备工作

在开始编写代码之前,我们需要确保已经安装了Python解释器和相关的第三方库。在本文中,我们将使用os库来进行文件和文件夹操作,使用PIL库来读取和处理图片文件。

如果你还没有安装这些库,可以使用以下命令来安装:

pip install Pillow

2. 遍历文件夹

在Python中,可以使用os库来遍历文件夹。os库提供了listdir函数,可以列出指定路径下的所有文件和文件夹。我们可以使用递归的方式来遍历文件夹及其子文件夹。

下面是一个简单的示例代码,演示如何遍历文件夹并打印出所有文件的路径:

import os

def traverse_folder(folder_path):
    for item in os.listdir(folder_path):
        item_path = os.path.join(folder_path, item)
        if os.path.isfile(item_path):
            print(item_path)
        elif os.path.isdir(item_path):
            traverse_folder(item_path)

# 调用示例
folder_path = "/path/to/folder"
traverse_folder(folder_path)

上述代码中,我们定义了一个名为traverse_folder的函数,该函数接受一个文件夹路径作为参数。函数内部使用os.listdir函数获取指定路径下的所有文件和文件夹。然后,通过os.path.join函数将当前项的路径和文件夹路径拼接起来,得到当前项的完整路径。如果当前项是文件,则打印出文件的路径;如果当前项是文件夹,则递归调用traverse_folder函数来遍历该文件夹。

3. 读取图片文件

在遍历文件夹的基础上,我们可以对文件进行进一步的处理。在本例中,我们将读取图片文件,并获取其宽度和高度。

首先,我们需要安装PIL库,可以使用以下命令来安装:

pip install Pillow

下面是一个示例代码,演示如何读取图片文件并获取其宽度和高度:

from PIL import Image

def process_image(image_path):
    image = Image.open(image_path)
    width, height = image.size
    print("Image path: ", image_path)
    print("Image size: ", width, "x", height)

# 调用示例
image_path = "/path/to/image.jpg"
process_image(image_path)

上述代码中,我们首先导入了PIL库的Image模块。然后,我们定义了一个名为process_image的函数,该函数接受一个图片文件路径作为参数。函数内部使用Image.open函数打开图片文件,并将返回的Image对象赋值给image变量。然后,我们使用image.size属性获取图片的宽度和高度,并打印出来。

4. 完整代码示例

下面是一个完整的示例代码,演示如何遍历文件夹并读取其中的图片文件:

import os
from PIL import Image

def traverse_folder(folder_path):
    for item in os.listdir(folder_path):
        item_path = os.path.join(folder_path, item)
        if os.path.isfile(item_path):
            process_image(item_path)
        elif os.path.isdir(item_path):
            traverse_folder(item_path)

def process_image