>백엔드 개발 >파이썬 튜토리얼 >Python에서 파일을 재귀적으로 찾는 가장 좋은 방법은 무엇입니까?

Python에서 파일을 재귀적으로 찾는 가장 좋은 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-19 05:34:09498검색

What's the Best Way to Recursively Find Files in Python?

다른 방법으로 재귀적으로 파일 찾기

디렉토리 구조에서 재귀적으로 파일을 검색할 때 glob()이 가장 효율적이지 않을 수 있습니다. 포괄적인 접근 방식. 이 문서에서는 재귀적 파일 나열을 달성하기 위한 대체 방법을 살펴봅니다.

pathlib.Path().rglob()

pathlib 모듈은 pathlib.Path().rglob( ), 일치하는 파일을 재귀적으로 검색합니다. 예:

from pathlib import Path

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

recursive=True인 glob.glob()

Python 3.5 이전 버전의 경우 glob.glob()은 재귀 옵션을 제공합니다. 예:

from glob import glob

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

os.walk()

이전 Python 버전의 경우 os.walk()와 fnmatch.filter()를 결합하면 재귀 검색을 제공합니다. 예:

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))

os.walk() 메서드는 모든 하위 디렉터리를 반복하는 반면, fnmatch.filter()는 간단한 패턴 일치를 적용합니다. 이 접근 방식은 pathlib에 비해 오버헤드가 낮기 때문에 대규모 디렉터리에 더 효율적일 수 있습니다.

위 내용은 Python에서 파일을 재귀적으로 찾는 가장 좋은 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.