[파이썬] 파일의 특정 문자열 반복 검색

파이썬은 강력한 텍스트 처리 기능을 제공하여 파일에서 특정 문자열을 반복적으로 검색할 수 있습니다. 이를 통해 텍스트 파일이나 로그 파일에서 원하는 정보를 추출하거나 특정 패턴을 찾을 수 있습니다. 이번 블로그 포스트에서는 파일에서 특정 문자열을 반복적으로 검색하는 방법에 대해 알아보겠습니다.

파일 열기

먼저, open() 함수를 사용하여 텍스트 파일을 열어야 합니다. 아래 예제 코드는 sample.txt 파일을 읽기 모드로 열고 파일 핸들을 file 변수에 할당하는 예시입니다.

file = open('sample.txt', 'r')

반복적으로 검색하기

파일을 열었다면, readline() 메서드를 사용하여 파일의 각 줄을 읽어 검색할 문자열을 찾을 수 있습니다. 아래 예제 코드는 file 변수에서 search_text 변수에 저장된 문자열을 검색하는 방법을 보여줍니다.

search_text = "특정 문자열"
found_count = 0

for line in file:
    if search_text in line:
        found_count += 1
        print(f"Line {found_count}: {line}")

print(f"검색 결과: 총 {found_count}개의 라인에서 검색어를 발견했습니다.")

위의 예제 코드에서는 파일의 각 줄을 순회하면서 search_text를 포함하는지 확인합니다. 만약 검색어가 발견되면 해당 줄을 출력하고, found_count를 증가시킵니다. 마지막으로 검색 결과를 출력합니다.

파일 닫기

파일을 모두 처리했으면, close() 메서드를 사용하여 파일을 닫는 것이 좋습니다. 이를 통해 리소스를 해제하고 메모리 누수를 방지할 수 있습니다. 아래 예제 코드는 파일을 닫는 방법을 보여줍니다.

file.close()

전체 코드 예시

아래는 위에서 소개한 예제 코드들을 한번에 모아놓은 전체 예시입니다.

search_text = "특정 문자열"
found_count = 0

file = open('sample.txt', 'r')

for line in file:
    if search_text in line:
        found_count += 1
        print(f"Line {found_count}: {line}")

print(f"검색 결과: 총 {found_count}개의 라인에서 검색어를 발견했습니다.")

file.close()

위의 코드를 실행하면 sample.txt 파일에서 search_text를 검색하여 발견된 모든 라인을 출력합니다. 찾은 라인의 수도 함께 출력됩니다.

이렇게 파일에서 특정 문자열을 반복적으로 검색하는 방법을 알아보았습니다. 이를 응용하여 원하는 텍스트를 추출하거나 특정 패턴을 찾는 등 다양한 기능을 구현할 수 있습니다. 파이썬의 강력한 텍스트 처리 기능을 활용하여 파일 관련 작업을 효율적으로 수행할 수 있습니다.