在 Python 中递归读取文件夹内容
在 Python 中,尝试递归遍历目录来读取文本文件时可能会遇到问题。一个常见的问题是代码只针对单个目录级别起作用。
理解 os.walk 函数
Python 中递归文件夹遍历的核心在于 os .walk() 函数。它迭代指定的目录及其子目录,返回三个值:root、subdirs 和 files。
优化文件夹遍历
要递归遍历目录,您应该迭代 os.walk() 返回的子目录列表。对于每个子目录,您可以递归调用 os.walk() 来处理其内容。
改进的 Python 代码
可以修改示例代码以处理多个目录级别:
import os
import sys
walk_dir = sys.argv[1]
for root, subdirs, files in os.walk(walk_dir):
for subdir in subdirs:
# Process subdirectory: call os.walk() recursively for subdir
for sub_subdir, sub_subfiles, _ in os.walk(os.path.join(root, subdir)):
# Process subdirectories and files in subdirectory
其他最佳实践
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3