如何使用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()函数递归访问文件夹的过程。值得注意的是,递归访问文件夹时,如果递归层数过多,可能会导致程序运行缓慢。因此,在使用时需要充分考虑文件数量和文件夹级数等因素,做好优化工作。
