在使用pytorch的Dataset中时,pathlib中glob的应用

作者学习记录方便查询

在使用Pytorch的Dataset的时候,常常会需要对存放数据的文件夹进行遍历等操作,有时可以使用os库,pathlib库也比较好用。
首先生成一个路径文件:

data_root = pathlib.Path(path)# 生成一个路径文件

之后根据路径文件进行处理:

all_image_paths = list(data_root.glob('*/*'))# 返回所有分类文件夹下面的文件名称,可以增添文件类型进行限制

glob可以返回路径下多种形式的遍历情况
例如:

data_root = pathlib.Path(r'D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames')# ped2训练集文件夹,含有16个文件夹,每个文件夹下含有图像文件。
all_image_paths = data_root.glob('*')
# 返回文件夹下面所有文件路径,可以通过添加后缀来限制文件格式,例:glob('*.py')
for i in all_image_paths:
    print(i)
# 输出情况
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\02
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\03
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\04
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\05
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\06
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\07
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\08
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\09
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\10
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\11
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\12
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\13
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\14
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\15
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\16
all_image_paths = data_root.glob('**')
# 相比于上种情况,还返回自身路径
for i in all_image_paths:
    print(i)
#输出情况:
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\02
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\03
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\04
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\05
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\06
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\07
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\08
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\09
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\10
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\11
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\12
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\13
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\14
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\15
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\16
all_image_paths = data_root.glob(r'*/*')
# 这种格式还会返回子文件夹下面的文件路径
for i in all_image_paths:
    print(i)
# 输出情况
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\000.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\001.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\002.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\003.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\004.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\005.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\006.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\007.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\008.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\009.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\010.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\011.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\012.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\013.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\014.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\015.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\016.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\017.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\018.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\019.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\020.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\021.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\022.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\023.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\01\024.jpg
...
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\16\146.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\16\147.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\16\148.jpg
D:\暑假学习\自编码器异常检测\datasets\ped2\training\frames\16\149.jpg

以上三个是glob在dataset中的常用应用,分别可用于生成数据标签情况、数据路径合集。
具体应用情况:应用

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值