python如何递归地遍历目录

2023-03-25 00:00:00 目录 遍历 递归

Python中可以使用os模块中的walk()函数递归地遍历目录及其子目录中的所有文件和子目录。walk()函数返回一个迭代器对象,可以使用for循环逐一遍历目录中的文件和子目录。

以下是一个遍历目录中所有文件和子目录的示例代码:

import os

root_dir = "pidancode"

for dirpath, dirnames, filenames in os.walk(root_dir):
    print("目录:", dirpath)
    for dirname in dirnames:
        print("子目录:", os.path.join(dirpath, dirname))
    for filename in filenames:
        print("文件:", os.path.join(dirpath, filename))

在上面的示例中,os.walk(root_dir)返回一个迭代器对象,该迭代器对象可以遍历root_dir目录及其子目录中的所有文件和子目录。dirpath是当前目录的路径,dirnames是当前目录下的子目录名列表,filenames是当前目录下的文件名列表。使用os.path.join()函数可以将目录名和文件名连接成完整的路径。

注意:os.walk()函数会递归地遍历目录中的所有子目录,因此需要注意目录结构较大时可能会占用较多的系统资源。可以根据实际情况进行合理的优化。

相关文章