引言在Python中,遍历文件夹及其所有子文件夹是一个常见的任务。这可以帮助我们执行文件搜索、备份、同步等操作。Python提供了多种方法来实现这一功能,其中一些方法比其他方法更简洁、更高效。本文将详...
在Python中,遍历文件夹及其所有子文件夹是一个常见的任务。这可以帮助我们执行文件搜索、备份、同步等操作。Python提供了多种方法来实现这一功能,其中一些方法比其他方法更简洁、更高效。本文将详细介绍几种常用的技巧,帮助您轻松掌握Python遍历文件夹下的所有子文件夹。
os.walk()os.walk()是Python标准库os模块中的一个函数,用于遍历文件夹及其所有子文件夹。以下是使用os.walk()的示例代码:
import os
def list_all_subfolders(path): for root, dirs, files in os.walk(path): for name in dirs: print(os.path.join(root, name))
# 调用函数
list_all_subfolders('/path/to/your/folder')这段代码会打印出指定路径下的所有子文件夹的完整路径。
glob模块glob模块提供了一个更高级的文件名模式匹配功能。使用glob.glob()函数,我们可以轻松地找到符合特定模式的文件和文件夹。以下是一个使用glob模块遍历子文件夹的示例:
import glob
def list_all_subfolders(path): pattern = os.path.join(path, '**', '*') for item in glob.glob(pattern, recursive=True): if os.path.isdir(item): print(item)
# 调用函数
list_all_subfolders('/path/to/your/folder')这段代码同样会打印出指定路径下的所有子文件夹的完整路径。
pathlibpathlib是Python 3.4及以上版本中引入的一个模块,它提供了一个面向对象的文件系统路径接口。使用pathlib遍历子文件夹的示例代码如下:
from pathlib import Path
def list_all_subfolders(path): for folder in Path(path).rglob('*'): if folder.is_dir(): print(folder)
# 调用函数
list_all_subfolders('/path/to/your/folder')这段代码同样会打印出指定路径下的所有子文件夹的完整路径。
以上三种方法都是Python中遍历文件夹及其所有子文件夹的有效技巧。您可以根据自己的需求和喜好选择其中一种方法。在实际应用中,建议使用os.walk()或pathlib,因为它们更加简洁、易读。