博客
关于我
python读取一个文件夹下所有图片_初学Python-找出文件夹下的所有图片
阅读量:799 次
发布时间: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 glob的安装和使用
查看>>
Python google drive API 下载,文件在哪里?
查看>>
Python GPS 模块:读取最新的 GPS 数据
查看>>
python grpc入门
查看>>
python gRPC测试helloworld
查看>>
python list,str的拼接与转换
查看>>
python matplotlib简单使用
查看>>
python os.system
查看>>
Python os.system执行多条语句,os.system的返回值以及与os.popen的区别
查看>>
Python os和sys模块
查看>>
python os文件/目录
查看>>
Python Package 之 Faker(随机姓名、电话)
查看>>
Python Panda TIME 系列重新采样
查看>>
python pandas TimeStamps到夏令时的本地时间字符串
查看>>
Python pandas 数据清洗与数据绘图实战
查看>>
Python Pandas 用顶行替换标题
查看>>
Python pandas 通过 dt 访问器有效地将日期时间转换为时间戳
查看>>
Python Pandas-从DataFrame按类别绘制多个条形图
查看>>
Python Pandas:每月或每周拆分 TimeSerie
查看>>
python pandas中融化的对面
查看>>