"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python을 사용하여 여러 디렉터리에서 파일을 효율적으로 검색하려면 어떻게 해야 합니까?

Python을 사용하여 여러 디렉터리에서 파일을 효율적으로 검색하려면 어떻게 해야 합니까?

2024-11-08에 게시됨
검색:782

How can I use Python to efficiently search for files across multiple directories?

Python에서 파일 찾기

Python에서 파일을 찾는 것은 파일 위치가 시스템마다 다를 때 어려울 수 있습니다. 운 좋게도 Python은 디렉토리를 탐색하고 파일을 쉽게 찾을 수 있는 os.walk 모듈을 제공합니다.

파일 검색을 위한 os.walk

os.walk는 생성기를 생성합니다. 디렉터리와 그 하위 디렉터리를 반복하여 각 반복마다 세 개의 튜플을 생성하는 객체:

  • root (str): 절대 경로 현재 디렉터리로
  • dirs(list): 현재 디렉터리 내의 하위 디렉터리 목록
  • files(list): 현재 디렉터리 내의 파일 목록

단일 파일 찾기

특정 파일의 첫 번째 항목을 찾으려면 생성된 튜플을 반복하고 파일 이름은 파일 목록에 있습니다:

import os

def find(name, path):
    for root, dirs, files in os.walk(path):
        if name in files:
            return os.path.join(root, name)

파일의 모든 항목 찾기

파일의 모든 항목을 찾으려면 일치 항목을 저장할 목록을 만듭니다. :

def find_all(name, path):
    result = []
    for root, dirs, files in os.walk(path):
        if name in files:
            result.append(os.path.join(root, name))
    return result

일치하는 파일 패턴

패턴과 일치하는 파일을 검색하려면 fnmatch 모듈을 사용하십시오:

import os, fnmatch
def find(pattern, path):
    result = []
    for root, dirs, files in os.walk(path):
        for name in files:
            if fnmatch.fnmatch(name, pattern):
                result.append(os.path.join(root, name))
    return result

find('*.txt', '/path/to/dir')
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3