python 笔记:glob (支持通配符的文件操作)

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 笔记:glob (支持通配符的文件操作)相关的知识,希望对你有一定的参考价值。

  • glob是python自己带的一个文件操作模块
  • 用它可以查找符合自己目的的文件,类似于Windows下的文件搜索
  • 支持通配符操作
    • *代表0个或多个字符
    • ?代表一个字符
    • []匹配指定范围内的字符,如[0-9]匹配数字。

1 glob 方法

  • 该方法返回所有匹配的文件路径列表(list)
  • 该方法需要一个参数用来指定匹配的路径字符串(字符串可以为绝对路径也可以为相对路径)
  • 其返回的文件名只包括当前目录里的文件名,不包括子文件夹里的文件。

1.1. 使用举例

比如我们桌面有一些png格式的文件

import glob
glob.glob(r'C:\\Users\\16000\\Desktop\\*.png')
'''
['C:\\\\Users\\\\16000\\\\Desktop\\\\Figure_1.png',
 'C:\\\\Users\\\\16000\\\\Desktop\\\\Figure_2.png',
 'C:\\\\Users\\\\16000\\\\Desktop\\\\imputation visualization.png',
 'C:\\\\Users\\\\16000\\\\Desktop\\\\imputation_latex.png',
 'C:\\\\Users\\\\16000\\\\Desktop\\\\Official Review_TEMPLATE.png',
 'C:\\\\Users\\\\16000\\\\Desktop\\\\proj1.png',
 'C:\\\\Users\\\\16000\\\\Desktop\\\\proj2.png',
 'C:\\\\Users\\\\16000\\\\Desktop\\\\proj3.png',
 'C:\\\\Users\\\\16000\\\\Desktop\\\\proj4.png',
 'C:\\\\Users\\\\16000\\\\Desktop\\\\proj5.png',
 'C:\\\\Users\\\\16000\\\\Desktop\\\\proj6.png',
 'C:\\\\Users\\\\16000\\\\Desktop\\\\proj7.png']
'''
glob.glob(r'C:\\Users\\16000\\Desktop\\Figure*.png')
'''
['C:\\\\Users\\\\16000\\\\Desktop\\\\Figure_1.png',
 'C:\\\\Users\\\\16000\\\\Desktop\\\\Figure_2.png']
'''

2 iglob方法

获取一个迭代器( iterator )对象,使用它可以逐个获取匹配的文件路径名

glob.iglob(r'C:\\Users\\16000\\Desktop\\*.png')
#<generator object _iglob at 0x000001B27A4B89C8>

for i in glob.iglob(r'C:\\Users\\16000\\Desktop\\*.png'):
    print(i)
    print('#'*10)
'''
C:\\Users\\16000\\Desktop\\Figure_1.png
##########
C:\\Users\\16000\\Desktop\\Figure_2.png
##########
C:\\Users\\16000\\Desktop\\imputation visualization.png
##########
C:\\Users\\16000\\Desktop\\imputation_latex.png
##########
C:\\Users\\16000\\Desktop\\Official Review_TEMPLATE.png
##########
C:\\Users\\16000\\Desktop\\proj1.png
##########
C:\\Users\\16000\\Desktop\\proj2.png
##########
C:\\Users\\16000\\Desktop\\proj3.png
##########
C:\\Users\\16000\\Desktop\\proj4.png
##########
C:\\Users\\16000\\Desktop\\proj5.png
##########
C:\\Users\\16000\\Desktop\\proj6.png
##########
C:\\Users\\16000\\Desktop\\proj7.png
##########
'''

以上是关于python 笔记:glob (支持通配符的文件操作)的主要内容,如果未能解决你的问题,请参考以下文章

python 里面的glob模块是怎么用的

飘逸的python - 实现glob style pattern

python文件操作glob_os_等对比

Python3标准库

Python glob 模块

glob通配符