python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python glob

python之glob的用法详解

作者:老歌老听老掉牙

glob 是 Python 中用于文件模式匹配的一个模块,本文主要介绍了python之glob的用法详解,具有一定的参考价值,感兴趣的可以来了解一下

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

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

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

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

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

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

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

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

递归获取所有文件

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

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

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

转义特殊字符

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

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

iglob

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

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

到此这篇关于python之glob的用法详解的文章就介绍到这了,更多相关python glob内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文