메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

Python grep 라이브러리 이용 파일 검색

데브카페

Python과 grep 라이브러리를 이용한 문자열 포함 파일 검색 예제

  • `grep` 라이브러리를 이용하여, 특정 디렉토리 내에 검색한 문자열을 포함하는 파일을 빠르게 찾는 예제 프로그램.

라이브러리 설치

  • 먼저 `grep` 라이브러리가 설치
pip install grep

프로그램 코드

사용자가 입력한 디렉토리와 검색할 문자열을 기준으로, 해당 디렉토리(및 하위 폴더)의 텍스트 파일 중 검색어가 포함된 파일 경로 출력.

import grep
import os

def find_files_with_text(directory, search_str):
    matches = []
    # 'recursive=True'로 하위 폴더도 탐색
    for result in grep.grep(search_str, directory, recursive=True, include='*.txt'):
        matches.append(result['filename'])
    # 중복 제거
    return list(set(matches))

if __name__ == "__main__":
    directory = input("검색할 디렉토리 경로를 입력하세요: ").strip()
    search_str = input("검색할 문자열을 입력하세요: ").strip()

    matched_files = find_files_with_text(directory, search_str)
    if matched_files:
        print("검색 문자열이 포함된 파일 목록:")
        for filename in matched_files:
            print(filename)
    else:
        print("검색 문자열이 포함된 파일을 찾을 수 없습니다.")

사용 방법

  1. 프로그램을 실행합니다.
  2. 검색할 디렉토리 경로(예: `C:\\Users\\username\\Documents`)와 문자열을 입력합니다.
  3. 검색 문자열이 포함된 모든 `.txt` 파일의 경로가 출력됩니다.

참고

- `grep.grep` 함수는 여러 검색 옵션을 제공하므로, 문서(https://pypi.org/project/grep/)를 참조하여 필요에 따라 include/exclude 패턴, 대소문자 구분 등 다양한 기능을 활용하실 수 있습니다. - 만약 텍스트 파일 이외 모든 파일을 검색대상으로 하려면 `include='*'`로 변경하시면 됩니다.

---

추가적인 기능(예: 정규표현식 사용, 표시 결과 저장 등)이 필요하시면 언제든 문의해 주십시오.

Comments