欢迎访问宙启技术站
智能推送

如何使用Python的os模块中的walk()函数递归访问文件夹

发布时间:2023-05-31 21:01:39

Python的os模块是一个非常强大的模块,提供了许多文件系统操作函数。在其中,walk()函数是一个可以递归获取目录树下的所有文件和文件夹的函数。

在Python中,使用os模块中的walk()函数,可以非常方便地递归访问文件夹。以下是使用Python的os模块中的walk()函数递归访问文件夹的步骤:

1. 导入os模块

使用Python的os模块中的walk()函数需要先导入os模块,可以使用以下语句导入:

import os

2. 使用walk()函数递归获取文件和文件夹

使用walk()函数可以递归获取文件夹下的所有文件和文件夹信息,语法如下:

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

参数说明:

- top:要遍历的 目录的路径。

- topdown:如果参数为 True,则首先遍历 top 目录,然后在遍历所有子目录。否则先遍历所有子目录,最后再遍历 top。默认值为 True。

- onerror:可选参数,如果可访问性与打开等功能出现错误时,将调用此函数,函数需要包含一个参数!

- followlinks:如果为 True,则遍历符号链接,如果为 None 或 False,则忽略符号链接。

walk()函数返回值是一个三元tupple(当前目录路径,当前目录下的子目录,当前目录下的文件),可以使用for循环遍历。

以下是具体的代码示例:

import os

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

if __name__ == '__main__':
    visit_dir(r"D:\test")

以上是使用Python的os模块中的walk()函数递归访问文件夹的过程。值得注意的是,递归访问文件夹时,如果递归层数过多,可能会导致程序运行缓慢。因此,在使用时需要充分考虑文件数量和文件夹级数等因素,做好优化工作。