2024年05月19日 Python glob查询文件 极客笔记
在Python中,我们经常需要查询特定文件或文件夹中的文件。glob
模块是Python中用于文件搜索的工具之一,它可以帮助我们根据特定模式匹配文件名。在本文中,我们将详细介绍如何使用glob
模块来查询文件,并通过示例代码演示其用法。
glob
模块是Python标准库中的一个模块,它用于查找符合特定规则的文件路径名。glob
模块提供了类似于Unix shell中的通配符(wildcard)功能,可以通过简单的模式匹配来查找文件或文件夹。
在使用glob
模块之前,我们需要先导入该模块:
import glob
glob
模块提供了一个glob
函数,用于根据指定的模式匹配文件路径名。glob
函数接受一个字符串参数,表示要匹配的文件路径名模式,返回匹配的文件路径名列表。
下面是glob
函数的基本用法示例:
# 导入glob模块
import glob
# 查询当前目录下所有.txt文件
txt_files = glob.glob("*.txt")
# 输出匹配的文件路径名列表
print(txt_files)
在上面的示例中,glob.glob("*.txt")
表示查询当前目录下所有以.txt
为后缀名的文件,返回匹配的文件路径名列表,并将结果打印出来。
glob
模块支持在文件名中使用通配符来进行匹配,常用的通配符有*
(匹配零个或多个任意字符)和?
(匹配单个任意字符)。
下面是一个使用通配符匹配文件的示例:
# 查询当前目录下所有以"file_"开头,以".csv"结尾的文件
csv_files = glob.glob("file_*.csv")
# 输出匹配的文件路径名列表
print(csv_files)
在上面的示例中,glob.glob("file_*.csv")
表示查询当前目录下所有以"file_"
开头,以".csv"
结尾的文件,返回匹配的文件路径名列表,并将结果打印出来。
除了查询当前目录下的文件外,glob
模块还可以查询指定目录下的文件。我们可以在模式中指定目录路径来查询该目录下的文件。
下面是一个查询指定目录下文件的示例:
# 查询指定目录下所有以".py"结尾的文件
python_files = glob.glob("/path/to/directory/*.py")
# 输出匹配的文件路径名列表
print(python_files)
在上面的示例中,glob.glob("/path/to/directory/*.py")
表示查询指定目录"/path/to/directory"
下所有以".py"
结尾的文件,返回匹配的文件路径名列表,并将结果打印出来。
有时候我们需要查询所有文件夹下的文件,可以使用通配符**
来递归查询。下面是一个使用通配符递归查询所有文件夹下文件的示例:
# 递归查询所有文件夹下的".jpg"文件
jpg_files = glob.glob("/path/to/directory/**/*.jpg", recursive=True)
# 输出匹配的文件路径名列表
print(jpg_files)
在上面的示例中,glob.glob("/path/to/directory/**/*.jpg", recursive=True)
表示递归查询指定目录"/path/to/directory"
下所有文件夹中以".jpg"
结尾的文件,返回匹配的文件路径名列表,并将结果打印出来。
通过本文的介绍,我们了解了glob
模块在Python中查询文件的基本用法,包括使用通配符匹配文件、查询指定目录下的文件以及递归查询所有文件夹下的文件等。glob
模块的灵活性和强大功能使得我们可以方便地查询和处理文件路径名,提高我们的工作效率。
本文链接:http://so.lmcjl.com/news/4912/