• 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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    运行结果如下:

    ['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']
    
    • 1
    • 2

    2. 使用相对路径

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

    运行结果:

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

    2. iglob()方法

    • 参数是匹配的路径字符串(可以是相对路径或绝对路径),可逐个获取匹配的文件路径名,返回值是一个迭代器对象,需要通过循环遍历来读取迭代器对象中的元素。
    import glob
    
    file_list1 = glob.iglob(r'./../*/*/*/*/*.png')
    print(file_list1)   #     返回一个迭代器对象
    
    count = 0
    for item in file_list1:
        count += 1
        print(item)
        if count == 10:
            break
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    运行结果:

    <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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
  • 相关阅读:
    java版spring cloud 工程项目管理系统源码
    一文看懂单总线协议(1-wire)
    【Axure高保真原型】航空信息可视化原型模板
    PDF如何转Word?用这两个方法轻松搞定
    mysql不是内部或外部命令,也不是可运行的程序或批处理文件解决
    2022年8月的10篇论文推荐
    使用 GPU 进行 Lightmap 烘焙 - 简单 demo
    《Python入门到精通》time模块详解,Python time标准库,time库函数大全
    数据库执行计划与更新统计信息(AI问答)
    正厚技术 | Vue.js中的高级面试题及答案
  • 原文地址:https://blog.csdn.net/ungoing/article/details/127954181