📜  python glob 子目录 - Python (1)

📅  最后修改于: 2023-12-03 15:18:55.645000             🧑  作者: Mango

Python Glob子目录

如果你曾经需要在Python中查找特定类型的文件,你可能会使用 os 模块并递归地遍历每个文件或文件夹,直到找到目标文件。但是这种方法非常耗时。另一种方法是使用Python中内置的 glob 模块。

什么是Glob?

Glob 是一个通用类 Unix 工具程序,它可以根据模式匹配文件路径和名称。在Python中, glob 是使用此程序的模块。

如何使用Glob?

使用 glob 进行基本的通配符匹配非常简单。这是一个例子,用于查找当前目录下所有以 .txt 结尾的文件:

import glob

txt_files = glob.glob('*.txt')

print(txt_files)

输出:

['file1.txt', 'file2.txt', 'file3.txt']

匹配模式语法如下:

  • *: 匹配所有字符(0个或多个)
  • ?: 匹配任意单个字符
  • []: 匹配任何括号中的字符。可以使用连字符 - 指定字符范围
  • !: 匹配除在括号中的字符外的任意字符
  • {}: 指定可选模式,用逗号分隔。

例如,下面的代码将查找当前目录及其子目录中所有以 .py.txt 结尾的文件:

import glob

files = glob.glob('**/*.{py,txt}', recursive=True)

print(files)

输出:

['file1.txt',
 'file2.py',
 'file3.py',
 'subdir/file4.txt',
 'subdir/file5.py']
  • **/: 表示递归查找目录中的子目录。
总结

使用 glob 模块可以轻松地在Python中查找特定类型的文件。它的匹配模式语法与常见的Unix shell通配符非常相似。如果需要在Python中查找文件,请尝试使用 glob