首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[教程]掌握Python获取图像路径列表的秘诀:轻松整理图片库,告别手动搜索!

发布于 2025-06-22 11:44:03
0
1175

引言在处理图像数据时,获取图像路径列表是一个常见且重要的任务。无论是进行图像处理、机器学习还是简单的文件管理,知道图像的位置都是必不可少的。Python作为一种功能强大的编程语言,提供了多种方法来获取...

引言

在处理图像数据时,获取图像路径列表是一个常见且重要的任务。无论是进行图像处理、机器学习还是简单的文件管理,知道图像的位置都是必不可少的。Python作为一种功能强大的编程语言,提供了多种方法来获取图像路径列表。本文将详细介绍几种方法,帮助您轻松整理图片库,告别手动搜索的繁琐。

一、使用os模块

Python的os模块提供了丰富的文件和目录操作功能。使用os.listdir()os.path可以方便地获取图像路径列表。

1.1 列出目录下的所有文件

import os
def list_images(directory): image_extensions = ['.jpg', '.jpeg', '.png', '.gif', '.bmp'] image_paths = [] for filename in os.listdir(directory): if os.path.isfile(os.path.join(directory, filename)) and any(filename.lower().endswith(ext) for ext in image_extensions): image_paths.append(os.path.join(directory, filename)) return image_paths
# 示例
directory_path = '/path/to/your/image/folder'
images = list_images(directory_path)
print(images)

1.2 列出递归目录下的所有文件

import os
def list_images_recursively(directory): image_extensions = ['.jpg', '.jpeg', '.png', '.gif', '.bmp'] image_paths = [] for root, dirs, files in os.walk(directory): for filename in files: if any(filename.lower().endswith(ext) for ext in image_extensions): image_paths.append(os.path.join(root, filename)) return image_paths
# 示例
directory_path = '/path/to/your/image/folder'
images = list_images_recursively(directory_path)
print(images)

二、使用glob模块

glob模块提供了根据通配符搜索文件的方法,可以更方便地获取图像路径列表。

2.1 使用glob.glob()函数

import glob
def list_images_with_glob(directory): image_extensions = ['*.jpg', '*.jpeg', '*.png', '*.gif', '*.bmp'] image_paths = [] for pattern in image_extensions: image_paths.extend(glob.glob(os.path.join(directory, pattern))) return image_paths
# 示例
directory_path = '/path/to/your/image/folder'
images = list_images_with_glob(directory_path)
print(images)

三、使用pathlib模块

Python 3.4及以上版本引入了pathlib模块,它提供了一个面向对象的文件系统路径接口。

3.1 使用Path

from pathlib import Path
def list_images_with_pathlib(directory): image_extensions = ['.jpg', '.jpeg', '.png', '.gif', '.bmp'] image_paths = [] for path in Path(directory).rglob('*'): if path.is_file() and path.suffix in image_extensions: image_paths.append(str(path)) return image_paths
# 示例
directory_path = '/path/to/your/image/folder'
images = list_images_with_pathlib(directory_path)
print(images)

总结

通过以上方法,您可以轻松地获取图像路径列表,从而为后续的图像处理、机器学习或其他任务做好准备。选择适合您需求的方法,告别手动搜索,提高工作效率。

评论
一个月内的热帖推荐
csdn大佬
Lv.1普通用户

452398

帖子

22

小组

841

积分

赞助商广告
站长交流