Python 是一种强大的编程语言,广泛应用于数据分析、Web开发等领域。在文件操作中,经常需要根据特定的模式匹配文件名或文件路径。Python 提供了 glob 模块来进行文件模式匹配,本文将介绍如何在 Python 2.x 中使用 glob 模块进行文件模式匹配。
glob 模块是 Python 标准库的一部分,无需额外安装即可使用。它提供了基于模式字符串的文件和文件夹搜索方法,并返回匹配的文件或文件夹列表。glob 模块支持一些常见的文件模式匹配规则:
*
:匹配任意字符。?
:匹配单个字符。[字符]
:匹配字符集中的任意一个字符。[!字符]
:匹配字符集中的任意一个字符以外的字符。
下面是使用 glob 模块进行文件模式匹配的示例代码:
import glob # 匹配当前目录下所有的.py文件 files = glob.glob('*.py') print(files) # 匹配当前目录下所有以test开头的文件夹 folders = glob.glob('test*') print(folders) # 匹配当前目录及其子目录下所有的.txt文件 files = glob.glob('**/*.txt', recursive=True) print(files)
在上述代码中,首先导入了 glob 模块。然后通过 glob.glob()
方法传入匹配模式字符串,获取匹配的文件或文件夹列表。使用 *.py
可以匹配当前目录下所有的 .py 文件,其中 *
表示匹配任意字符。使用 test*
可以匹配当前目录下所有以 test 开头的文件夹,其中 *
表示匹配任意字符。使用 **/*.txt
可以匹配当前目录及其子目录下所有的 .txt 文件,其中 **
表示匹配任意级别的子目录。
运行上述代码可以得到匹配的文件或文件夹列表,分别存储在 files 和 folders 变量中。然后通过 print 函数将结果打印出来。在实际使用中,可以根据需要对匹配到的文件或文件夹进行进一步的操作。
除了基本的文件模式匹配外,glob 模块还支持路径扩展。例如,可以使用 ~
来表示用户的主目录,使用 ../
来表示上一级目录。下面是使用路径扩展的示例代码:
import glob # 匹配当前用户主目录下所有的.py文件 files = glob.glob('~/Desktop/*.py') print(files) # 匹配上一级目录下所有以test开头的文件夹 folders = glob.glob('../test*') print(folders)
在上述代码中,使用 ~/Desktop/*.py
可以匹配当前用户主目录下的 Desktop 目录中所有的 .py 文件。使用 ../test*
可以匹配上一级目录下所有以 test 开头的文件夹。
总结来说,glob 模块提供了一种方便的方式来进行文件模式匹配。通过简单的模式字符串,可以匹配文件名或文件路径,返回匹配的文件或文件夹列表。在 Python 2.x 中使用 glob 模块可以轻松实现文件模式匹配的功能,提高文件操作的效率。
【文章原创作者:防ddos攻击 http://www.558idc.com/shsgf.html 复制请保留原URL】