博客
关于我
python读取一个文件夹下所有图片_初学Python-找出文件夹下的所有图片
阅读量:800 次
发布时间:2023-03-06

本文共 1295 字,大约阅读时间需要 4 分钟。

重新优化后的内容

对于这个命题,通常有两种理解方式:找出指定文件夹下的图片,以及找出指定文件夹及其子文件夹下的图片。这两种理解方式主要区别在于,第二种情况需要考虑子文件夹下的图片是否需要包含在结果中。以下将分别详细说明两种方法。

1. 找出指定文件夹目录下的图片

1.1 指定文件夹路径

指定文件夹路径可以是绝对路径或相对路径。例如:

os.listdir(r'C:\Users\desktop\pictures')
os.listdir('./images/')

绝对路径需要注意反斜杠的书写方式,而相对路径则更灵活。

1.2 获取文件列表

使用os.listdir()函数可以获取指定文件夹包含的文件或文件夹名称列表。该函数返回的结果是一个包含文件和子文件夹名称的列表。

1.3 过滤图片文件

为了筛选出图片文件,可以根据文件名的后缀进行判断。例如:

import os
def find_images(folder_path):
image_suffixes = ('.jpg', '.png', '.jpeg')
for filename in os.listdir(folder_path):
if filename.lower().endswith(image_suffixes):
print(f"Found image: {filename}")

这里使用了endswith()函数来判断文件名是否以指定后缀结尾,并将符合条件的文件名打印出来。

2. 找出指定文件夹及其子文件夹下的图片

2.1 获取子文件夹路径

使用os.walk()函数可以遍历指定文件夹及其所有子文件夹。os.walk()返回一个遍历器,其中包含当前文件夹、子文件夹以及它们下的文件信息。

2.2 遍历文件夹

例如:

import os
def find_images_in_subfolders(folder_path):
image_suffixes = ('.jpg', '.png', '.jpeg')
for root, dirs, files in os.walk(folder_path):
for filename in files:
if filename.lower().endswith(image_suffixes):
print(f"Found image: {filename}")

这里的root变量表示当前遍历的文件夹路径,dirs是当前文件夹下的子文件夹名称,files是当前文件夹下的文件名称。

2.3 选择遍历方式

可以选择是否递归遍历子文件夹。例如:

os.walk(r'C:\Users\desktop\pictures', recursive=True)

递归遍历会包含所有子文件夹下的文件,而非递归只遍历当前层次的文件夹。

通过以上方法,可以根据具体需求选择适当的遍历方式来筛选出目标文件夹及其子文件夹下的图片。

转载地址:http://tyofk.baihongyu.com/

你可能感兴趣的文章
python 存入数据库bigint_python基础_MySQL的bigint类型
查看>>
python 学习 面向对象编程
查看>>
Python 学习小结
查看>>
Python 学习日记第三篇 -- 字典
查看>>
Python 学习笔记(一)Data type
查看>>
python 安装 easy_install 和 pip 流程
查看>>
python 安装echarts
查看>>
python 安装opencv及问题解决
查看>>
Python 安装程序:“写入文件 C:\Python27\pythonw.exe 时出错“
查看>>
Python 安装避坑指南:从入门到进阶
查看>>
Python 安装配置详解
查看>>
python 实现儿童算术游戏
查看>>
python 实现字符串转整型
查看>>
Python 实现定时任务的八种方案!
查看>>
python 实现将RGBA 转换为RGB
查看>>
python字符串与url编码的转换
查看>>
Python 实现自动化测试 dubbo 协议接口
查看>>
python编程基础之十六
查看>>
python字符串input输入_Python input()函数:获取用户输入的字符串
查看>>
python 对json数据读取及保存与读取,对dump,dumps,load,loads的理解
查看>>