首页 >后端开发 >Python教程 >如何在Python中递归查找文件?

如何在Python中递归查找文件?

Linda Hamilton
Linda Hamilton原创
2024-12-12 20:21:17616浏览

How Can I Recursively Find Files in Python?

使用Python递归查找文件

在Python中,您可以有效地递归检索目录及其子目录中的所有文件,从而实现全面的文件探索。

一种方法涉及利用 pathlib.Path().rglob()。对于深度超过一级的目录,这种方法可以有效地检索所有匹配的文件。例如,以下代码片段演示了其应用:

from pathlib import Path

for path in Path('src').rglob('*.c'):
    print(path.name)

或者,glob.glob() 函数与 recursive=True 参数相结合,可用于递归文件搜索:

from glob import glob

for filename in glob('src/**/*.c', recursive=True):
    print(filename) 

但是,对于需要包含以点开头的文件(例如隐藏文件)的场景,需要包含 os.walk()提供了一个可行的解决方案:

import fnmatch
import os

matches = []
for root, dirnames, filenames in os.walk('src'):
    for filename in fnmatch.filter(filenames, '*.c'):
        matches.append(os.path.join(root, filename))

使用这些方法,您可以有效地导航目录结构并根据您指定的条件检索文件。无论您的文件嵌套很深还是包含隐藏项目,Python 都会提供强大的工具来满足您的文件发现需求。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn