glob模块的使用

  • glob是Python内置的文件操作模块,可用于查找指定条件的文件路径。支持通配符如下:
通配符含义
*代表0个或多个字符
?代表一个字符
[]匹配指定范围的字符,如[0-9]即匹配0~9的数字
  • .. 代表上一级目录。

1. glob()方法

  • 参数是指定匹配的路径字符串(可以是相对路径或绝对路径),返回值为列表,列表中保存着所有匹配的文件路径。返回的文件名中只包括指定目录里的文件名,不包括指定目录的子文件夹中的文件。

1. 使用绝对路径

import glob

file_list1 = glob.glob(r'd:/*.txt')
file_list2 = glob.glob(r'd:/*/*.txt')
print(file_list1)
print(file_list2)

运行结果如下:

['d:/secret.txt']
['d:/Anaconda\\LICENSE_PYTHON.txt', 'd:/Anaconda\\vscode_eula.txt', 'd:/phpStudy\\使用说明.txt', 'd:/qqpcmgr_docpro\\关于本文件夹的说明2.0.txt', 'd:/yolov5-6.1\\requirements.txt']

2. 使用相对路径

import glob

file_list2 = glob.glob(r'./*/*/正常/老人/*.png')     # ./代表当前文件所在的目录下
print(file_list2)

运行结果:

['.\\人脸表情\\人脸表情\\正常\\老人\\101.png', '.\\人脸表情\\人脸表情\\正常\\老人\\118.png', '.\\人脸表情\\人脸表情\\正常\\老人\\127.png', '.\\人脸表情\\人脸表情\\正常\\老人\\19.png', '.\\人脸表情\\人脸表情\\正常\\老人\\21.png', '.\\人脸表情\\人脸表情\\正常\\老人\\36.png', '.\\人脸表情\\人脸表情\\正常\\老人\\38.png', '.\\人脸表情\\人脸表情\\正常\\老人\\42.png']

2. iglob()方法

  • 参数是匹配的路径字符串(可以是相对路径或绝对路径),可逐个获取匹配的文件路径名,返回值是一个迭代器对象,需要通过循环遍历来读取迭代器对象中的元素。
import glob

file_list1 = glob.iglob(r'./../*/*/*/*/*.png')
print(file_list1)   # <generator object _iglob at 0x000002156779CB30>    返回一个迭代器对象

count = 0
for item in file_list1:
    count += 1
    print(item)
    if count == 10:
        break

运行结果:

<generator object _iglob at 0x000002C82538CB30>
./..\数据统计\人脸表情\手势动作\OK\13.png
./..\数据统计\人脸表情\手势动作\剪刀手\1.png
./..\数据统计\人脸表情\手势动作\剪刀手\119.png
./..\数据统计\人脸表情\手势动作\剪刀手\2.png
./..\数据统计\人脸表情\手势动作\剪刀手\52.png
./..\数据统计\人脸表情\手势动作\拒绝\1.png
./..\数据统计\人脸表情\手势动作\拒绝\120.png
./..\数据统计\人脸表情\手势动作\捂脸\10.png
./..\数据统计\人脸表情\手势动作\捂脸\11.png
./..\数据统计\人脸表情\手势动作\捂脸\12.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值