在神经网络准备训练集的时候,经常需要从文件夹中读取全部图片。经常遇到的有两种方式

1 os.listdir()

os.listdir()是列举文件夹中所有文件名。然后通过os.path.join()函数将文件夹的地址和文件夹名称连接起来获得绝对地址。
import os files=os.listdir('./T91_HR') print(type(files)) print(files) for i
in files: path=os.path.join('./T91_HR/'+i) print(path)
2 glob

glob是用于匹配符合指定模式的文件集合的一种语言

 返回所有匹配的文件路径列表。它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径

 glob.glob()

这里返回的是一个列表
from glob import glob import os path=os.path.join('./T91_HR/*.png')
files=glob(path) print(type(files)) for i in files: print(i)
glob.iglob()

这个函数与glob.glob()函数的功能类似,也只有pathname一个参数,但是这个函数返回一个迭代器,也就是说一次只返回一个路径,相比于glob.glob()会占用更少的内存。
from glob import iglob import os path=os.path.join('./T91_HR/*.png')
files=iglob(path) print(type(files))
自然排序
from natsort import natsorted a = ['1.png', '3.png', '10.png', '2.png'] ##常规排序
a.sort() print(a) ##自然排序 b = natsorted(a) print(b)

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信