python之glob的用法

目录

获取特定扩展名的所有文件

获取特定目录下的所有文件

递归获取所有文件

转义特殊字符

iglob


glob 是 Python 中用于文件模式匹配的一个模块。它使用 Unix shell-style 的通配符来进行匹配,并返回所有匹配的文件路径列表。

下面是一些 glob 的基本用法:

获取特定扩展名的所有文件

如果你想获取当前目录下所有的 .txt 文件,可以使用:

import globtxt_files = glob.glob('*.txt')print(txt_files)

获取特定目录下的所有文件

如果你想获取 data 目录下所有的文件,可以使用:

import globall_files = glob.glob('./*')print(all_files)

递归获取所有文件

使用 ** 可以递归地匹配所有子目录中的文件。例如,获取 data 目录及其所有子目录下的 .txt 文件:

import globtxt_files_recursive = glob.glob('data/**/*.txt', recursive=True)

注意:recursive=True 参数确保模式会递归地匹配子目录。这在 glob 的某些版本中可能是必需的。

转义特殊字符

如果你需要匹配的文件名包含特殊字符(如 [、]、*、? 等),你可以使用 glob.escape 来转义这些字符:

import globescaped_pattern = glob.escape('my[special]file*')  matched_files = glob.glob(escaped_pattern)

iglob

除了 glob 函数外,glob 模块还提供了一个 iglob 函数,它是一个迭代器版本的 glob。当你处理大量文件时,使用 iglob 可以节省内存,因为它不会一次性加载所有匹配的文件路径,而是每次迭代时加载一个。

import globfor file in glob.iglob('*.txt'):    print(file)

你可能感兴趣的:(python办公自动化,python,开发语言)