python官方文档

glob通过使用通配符.*?,找出所有匹配特定模式的路径名

考虑一个包含以下内容的目录data

\__ data              
    \__ 1.gif             
    \__ 2.txt   
    \__ card.gif
    \__ .card.gif     
    \__ sub   
         \__ 3.txt

glob() 将产生如下结果(路径的任何开头部分都将被保留):

import glob

files = glob.glob('./data/[0-9].*')
print(files)

files = glob.glob('./data/*.gif')
print(files)

files = glob.glob('./data/?.gif')
print(files)

"""
If recursive is true, the pattern '**' will match any files and zero or more directories and subdirectories.
"""

files = glob.glob('./data/**/*.txt', recursive=True)
print(files)

files = glob.glob('./data/**/', recursive=False)
print(files)

结果:

['./data/1.gif', './data/2.txt']
['./data/1.gif', './data/card.gif']
['./data/1.gif']
['./data/2.txt', './data/sub/3.txt']
['./data/sub/']

注意到glob.glob('./data/*.gif')没有匹配到文件./data/.card.gif

files = glob.glob('./data/*.gif')
print(files)
# 不会匹配.开头的文件,使用如下方式匹配
files = glob.glob('./data/.c*')
print(files)
['./data/1.gif', './data/card.gif']
['./data/.card.gif']
Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐