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

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

Linda Hamilton
Linda Hamilton원래의
2024-10-29 02:35:29821검색

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): 목록 현재 디렉터리 내의 하위 디렉터리
  • 파일(목록): 현재 디렉터리 내의 파일 목록

단일 파일 찾기

찾으려면 특정 파일이 처음 나타나면 생성된 튜플을 반복하고 파일 이름이 파일 목록에 있는지 확인하세요.

<code class="python">import os

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

파일의 모든 항목 찾기

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

<code class="python">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</code>

일치하는 파일 패턴

일치하는 파일을 검색하려면 패턴을 사용하려면 fnmatch 모듈을 사용하세요.

<code class="python">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')</code>

위 내용은 Python을 사용하여 여러 디렉터리에서 파일을 효율적으로 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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