Python获取目录下所有图片名

介绍

在进行图像处理、数据分析和机器学习等任务时,有时我们需要获取一个目录下所有的图片文件名。Python提供了多种方法来实现这个功能,本文将介绍其中两种常用的方法。

方法一:os模块

Python的os模块提供了一系列与操作系统相关的功能,包括文件和目录操作。通过os模块的函数,我们可以轻松地获取目录下所有的文件名。

下面是一个简单的示例代码,演示了如何使用os模块获取目录下的所有图片文件名:

import os

def get_image_files(directory):
    image_files = []
    for file in os.listdir(directory):
        if file.endswith(".jpg") or file.endswith(".png"):
            image_files.append(file)
    return image_files

# 示例用法
directory = "./images"
image_files = get_image_files(directory)
print(image_files)

在上面的示例代码中,get_image_files函数接受一个目录路径作为参数,使用os.listdir函数获取该目录下所有的文件名。然后,通过判断文件名是否以".jpg"或".png"结尾,将图片文件名添加到image_files列表中。最后,返回image_files列表。

通过运行上述代码,我们可以得到目录下所有的图片文件名。

方法二:glob模块

Python的glob模块提供了一种更简洁的方式来获取目录下的文件名。glob模块使用通配符匹配文件名,可以直接获取符合条件的文件名列表。

下面是一个使用glob模块的示例代码,演示了如何获取目录下的所有图片文件名:

import glob

def get_image_files(directory):
    image_files = glob.glob(directory + "/*.jpg") + glob.glob(directory + "/*.png")
    return image_files

# 示例用法
directory = "./images"
image_files = get_image_files(directory)
print(image_files)

在上面的示例代码中,get_image_files函数接受一个目录路径作为参数,使用glob模块的glob函数匹配所有以".jpg"或".png"结尾的文件名。然后,将匹配到的文件名添加到image_files列表中,并返回该列表。

通过运行上述代码,我们同样可以获取目录下所有的图片文件名。

总结

本文介绍了两种常用的方法,通过Python获取目录下所有图片名。使用os模块,我们可以遍历目录下的所有文件名,并通过文件名后缀来筛选出图片文件名。而使用glob模块,我们可以通过通配符直接匹配符合条件的文件名。

无论是使用os模块还是glob模块,都可以轻松地实现获取目录下所有图片名的功能。根据实际需求,选择合适的方法使用即可。

下面是本文中使用的状态图和序列图:

状态图

stateDiagram
    [*] --> 获取目录下所有文件名
    获取目录下所有文件名 --> 判断文件名是否以".jpg"或".png"结尾
    判断文件名是否以".jpg"或".png"结尾 --> 添加图片文件名到列表
    添加图片文件名到列表 --> [*]

序列图

sequenceDiagram
    participant 用户
    participant Python程序
    用户 ->> Python程序: 调用get_image_files函数,并传入目录路径
    Python程序 ->> Python程序: 使用os.listdir或glob.glob获取目录下所有文件名
    Python程序 ->> Python程序: 判断文件名是否以".jpg"或".png"结尾
    Python程序 ->> Python程序: 将图片文件名添加到列表
    Python程序 ->> 用户: 返回图片文件名列表

希望本文能够帮助你快速获取目录下的所有图片文件名。无论是使用os模块还是glob模块,都能很方便地满足你的需求。根据不同的场景和个人喜好,选择合适的方法即可。