>백엔드 개발 >파이썬 튜토리얼 >`pathlib`, `glob` 및 `os.walk`를 사용하여 Python에서 파일을 어떻게 재귀적으로 찾을 수 있습니까?

`pathlib`, `glob` 및 `os.walk`를 사용하여 Python에서 파일을 어떻게 재귀적으로 찾을 수 있습니까?

DDD
DDD원래의
2024-12-11 20:16:15312검색

How Can I Recursively Find Files in Python Using `pathlib`, `glob`, and `os.walk`?

재귀적으로 파일 찾기: pathlib.rglob(), glob.glob() 및 os.walk() 탐색

파일을 처리할 때 복잡한 디렉토리 구조로 인해 파일을 반복적으로 찾는 것이 필수적입니다. 이 작업은 다양한 Python 모듈과 메서드를 사용하여 단순화할 수 있습니다.

한 가지 접근 방식은 Python 3.5에 도입된 pathlib.Path().rglob()을 활용하는 것입니다. 간단한 재귀 파일 검색이 가능합니다.

from pathlib import Path

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

또는 glob.glob()은 재귀 파일 목록을 위한 또 다른 옵션을 제공합니다.

from glob import glob

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

이 방법은 또한 점(.)으로 시작하는 일치하는 파일을 지원합니다.

이전 Python 버전이거나 속도가 느린 경우 중요한 점은 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 버전 및 성능 요구 사항에 따라 적절한 방법을 선택하면 디렉터리 내에서 파일을 반복적으로 효과적으로 나열하고 하위 디렉토리.

위 내용은 `pathlib`, `glob` 및 `os.walk`를 사용하여 Python에서 파일을 어떻게 재귀적으로 찾을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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