使用glob2模块在Python中遍历多级目录
发布时间:2023-12-25 06:16:18
在Python中,可以使用glob2模块来遍历多级目录。glob2模块扩展了标准库中的glob模块,提供了更强大的文件路径匹配功能。
下面是关于如何使用glob2模块来遍历多级目录的示例代码:
import glob2
# 1. 遍历指定目录下的所有文件
files = glob2.glob('path/to/directory/**/*')
# 2. 遍历指定目录下的所有文件夹
folders = glob2.glob('path/to/directory/**/')
# 设定单个*可以匹配文件夹
# 3. 遍历指定目录下的所有特定类型的文件
image_files = glob2.glob('path/to/directory/**/*.jpg')
text_files = glob2.glob('path/to/directory/**/*.txt')
# 设定**可以匹配多级目录
# 4. 遍历指定目录下的所有特定类型的文件,并且排除某些文件或文件夹
filtered_files = glob2.glob('path/to/directory/**/*.jpg', exclude=['path/to/directory/**/ignore/'])
# exclude参数指定要排除的文件或文件夹的匹配模式
# 5. 遍历多个目录下的所有特定类型的文件
multiple_directories = ['path/to/dir1', 'path/to/dir2', 'path/to/dir3']
files = []
for directory in multiple_directories:
files.extend(glob2.glob(directory + '/**/*.txt'))
# 6. 遍历指定目录下的所有特定命名模式的文件
pattern_files = glob2.glob('path/to/directory/**/[A-Z][0-9].txt')
# 匹配由一个大写字母和一个数字组成的文件名,文件扩展名为txt
# 7. 遍历当前目录下的所有文件
files = glob2.glob('**/*')
# 使用**/*来匹配当前目录下的所有文件,不论文件位于多少级目录下
# 8. 遍历指定目录下的所有文件并按文件大小排序
files = glob2.glob('path/to/directory/**/*')
files.sort(key=lambda f: f.stat().st_size)
# 9. 遍历指定目录下的所有文件并按文件修改时间排序
files = glob2.glob('path/to/directory/**/*')
files.sort(key=lambda f: f.stat().st_mtime)
# 10. 遍历指定目录下的所有文件并添加到一个列表中
file_list = []
for filename in glob2.glob('path/to/directory/**/*'):
file_list.append(filename)
# 11. 遍历指定目录下的所有文件并打印文件路径
for filename in glob2.glob('path/to/directory/**/*'):
print(filename)
以上是关于如何使用glob2模块来遍历多级目录的一些示例代码。根据你的需求,可以根据这些代码进行相应的修改和调整。记住,glob2模块提供了强大的路径匹配功能,能够帮助你更方便地遍历多级目录中的文件和文件夹。
