首页 > 后端开发 > Python教程 > 如何在Python中递归地从子文件夹中检索文件?

如何在Python中递归地从子文件夹中检索文件?

Linda Hamilton
发布: 2024-10-29 23:13:29
原创
221 人浏览过

How to Retrieve Files from Subfolders Recursively in Python?

从子文件夹中递归检索文件

问题陈述

Python 脚本在递归搜索子文件夹时遇到问题具有特定扩展名的文件。该脚本旨在创建找到的文件的列表,但脚本检索到的子文件夹位于列表中,而不是代表包含找到的文件的文件夹。

解决方案

要解决此问题,应使用所提供代码中的“root”变量表示的 dirpath,而不是 subFolder 变量。 dirpath 包含所定位文件所在目录的绝对路径。

代码片段

以下修改后的 Python 代码演示了 dirpath 的正确用法:

<code class="python">import os
result = [os.path.join(dp, f) for dp, dn, filenames in os.walk(PATH) for f in filenames if os.path.splitext(f)[1] == '.txt']</code>
登录后复制

通过采用此修改,代码将有效地递归遍历子文件夹并创建具有所需扩展名的文件列表,每个文件路径包括其所属的文件夹。

其他选项

除了主要解决方案之外,还提供了使用 glob 模块或 Python 3.4 及更高版本的 Python 内置 pathlib 模块的替代方法,以提供更全面的选项。

结论

修改后的脚本可以准确识别并列出指定文件夹及其子文件夹中具有指定扩展名的文件,为 Python 中的递归文件搜索提供强大的解决方案。

以上是如何在Python中递归地从子文件夹中检索文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板