当我们需要在一个文件夹中检索某些类型的文件时,python的glob
模块就可以很好地完成这个任务。这个模块提供了一个类似正则表达式的接口来匹配文件名,但它比正则表达式更简单易用。
以下是使用glob
模块检索文件的方法:
1. 导入glob模块
import glob
2. 基本用法:使用glob.glob()
函数对符合条件的文件进行筛选
my_files = glob.glob('*.txt') # 这会列出所有后缀为 .txt 的文件
3. 进阶用法:使用通配符匹配指定条件
my_files = glob.glob('/Users/username/Desktop/*.py') # 这会列出指定目录下所有后缀为 .py 的文件
4. 多条件查找:将多个条件传递给glob.glob()
函数
my_files = glob.glob('/Users/username/Desktop/*.txt') + glob.glob('/Users/username/Desktop/*.md')
5. 返回目录列表:使用glob.glob()
函数获取目录列表
my_directories = glob.glob('/Users/username/Desktop/*/')
下面是两个示例说明:
示例1:获取特定目录下所有图片文件名
假设我们需要获取特定目录下所有图片的文件名。我们可以使用glob
模块来实现这个操作。
import glob
picture_files = glob.glob('/Users/username/Desktop/pictures/*.{png,jpeg,jpg}')
for file_name in picture_files:
print(file_name)
这个程序将会在指定的目录中匹配所有后缀为 .png、.jpeg 和 .jpg 的文件,并将它们全部打印出来。
示例2:获取所有层级里的python文件
假设我们需要获取特定目录(包括目录下所有的子目录)中所有的 Python 文件的文件名。我们同样可以使用glob
模块来实现这个操作。
import glob
python_files = glob.glob('/Users/username/Python_Projects/**/*.py', recursive=True)
for file_name in python_files:
print(file_name)
这个程序将会在指定的目录中匹配所有后缀为 .py 的 Python 文件,并将包括子目录的所有相关文件名全部打印出来。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python使用glob检索文件的操作 - Python技术站