다른 방법으로 재귀적으로 파일 찾기
디렉토리 구조에서 재귀적으로 파일을 검색할 때 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!