• 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
  • 相关阅读:
    Python爬虫技术系列-03requests库案例-完善
    如何不编写 YAML 管理 Kubernetes 应用?
    计算神经科学和人工智能,人工智能神经网络算法
    Hive-SQL
    gnss rtcm rtklib Ntrip...
    【超图+CESIUM】【基础API使用示例】49、超图|CESIUM -自定义按钮操作视角上下左右东西南北移动|修改覆盖罗盘的上下左右东西南北的视角移动
    vuejs - - - - - 移动端设备兼容(pxtorem)
    后端研发工程师面经——计算机网络
    美创数据安全管理平台获信通院“数据安全产品能力验证计划”评测证书
    Abbexa丨Abbexa动物组织 PCR 试剂盒提取说明书
  • 原文地址:https://blog.csdn.net/ungoing/article/details/127954181