温馨提示×

readdir能否递归读取子目录

小樊
51
2025-08-14 11:58:32
栏目: 编程语言

readdir 函数本身并不能递归地读取子目录。它只能读取指定目录下的文件和子目录列表。如果你需要递归地读取子目录,你需要自己编写一个递归函数来实现这个功能。

以下是一个使用 Python 编写的简单示例,展示了如何递归地读取目录及其子目录中的所有文件:

import os

def list_files_recursive(directory):
    for root, dirs, files in os.walk(directory):
        for file in files:
            print(os.path.join(root, file))

# 调用函数,传入要递归读取的目录路径
list_files_recursive('/path/to/your/directory')

在这个示例中,我们使用了 os.walk() 函数,它会遍历指定目录及其所有子目录,并返回一个三元组(root, dirs, files),其中 root 是当前遍历的目录路径,dirs 是一个包含当前目录下所有子目录的列表,files 是一个包含当前目录下所有文件的列表。然后我们遍历 files 列表并打印出文件的完整路径。

0