[파이썬] 파일의 문자열 검색과 변경

많은 경우 Python에서 파일을 다룰 때 특정 문자열을 검색하고 변경해야 할 수 있습니다. 이러한 작업은 텍스트 파일을 조작하고 원하는 패턴에 맞게 수정하는 데 유용합니다. 이번 블로그 포스트에서는 Python을 사용하여 파일에서 문자열을 검색하고 변경하는 방법을 알아보겠습니다.

파일 열기

첫 번째 단계는 텍스트 파일을 열어서 해당 파일을 읽거나 수정할 수 있는 파일 핸들을 가져오는 것입니다. open() 함수를 사용하여 파일을 열 수 있습니다. 이 함수는 파일 경로와 함께 열고자 하는 모드를 지정해야 합니다. 파일을 읽기 모드로 열기 위해서는 ‘r’을 사용하고, 파일을 쓰기 모드로 열기 위해서는 ‘w’을 사용합니다. 예를 들어, 파일을 읽기 전용으로 열려면 다음과 같이 코드를 작성할 수 있습니다:

file = open("파일경로/파일이름.txt", "r")

파일 내 문자열 검색

파일을 열었다면, 이제 파일에서 특정 문자열을 검색하는 방법을 알아보겠습니다. Python은 간단한 방법으로 이를 수행할 수 있는데, read() 함수를 사용하여 파일 내용을 읽어온 다음, find() 함수를 사용하여 원하는 문자열을 찾을 수 있습니다.

file_content = file.read()
position = file_content.find("검색할_문자열")
print("문자열의 위치:", position)

위의 코드에서 find() 함수는 검색할 문자열을 찾으면 문자열의 첫 번째 문자의 인덱스를 반환하고, 찾지 못할 경우 -1을 반환합니다.

문자열 변경

파일에서 문자열을 검색한 다음 변경해야하는 경우에는 replace() 함수를 사용할 수 있습니다. 이 함수는 검색할 문자열을 찾은 후 새 문자열로 대체하는 역할을 합니다.

new_content = file_content.replace("검색할_문자열", "바꿀_문자열")

위의 코드에서 replace() 함수는 검색할 문자열을 찾으면 새 문자열로 대체하고, 변경된 문자열을 new_content 변수에 저장합니다. 파일에 변경된 내용을 적용하려면 파일을 쓰기 모드로 열고 write() 함수를 사용하여 변경된 내용을 파일에 씁니다.

file.close()
file = open("파일경로/파일이름.txt", "w")
file.write(new_content)
file.close()

close() 함수를 사용하여 파일을 닫아주는 것을 잊지 마세요.

예외처리

파일 작업을 수행할 때 파일을 열고 닫는 것과 같은 작업 중에 예외가 발생할 수 있습니다. 예를 들어 파일이 존재하지 않는 경우나 파일을 열거나 닫는 동안 오류가 발생할 수 있습니다. 이러한 예외 상황을 처리하기 위해 예외 처리 로직을 추가하는 것이 좋습니다.

try:
    file = open("파일경로/파일이름.txt", "r")
    # 파일 작업 수행
except FileNotFoundError:
    print("파일을 찾을 수 없습니다.")
except IOError:
    print("파일을 읽거나 쓸 수 없습니다.")
finally:
    file.close()

위의 코드에서 try 블록 안에서 파일 작업을 수행하고, 예외가 발생한 경우 해당 예외에 맞는 except 블록을 실행합니다. 마지막으로 finally 블록에서 파일을 닫아야 합니다.

마무리

Python을 사용하여 파일에서 문자열을 검색하고 변경하는 방법에 대해 살펴보았습니다. 파일을 열고 닫는 것을 잊지 않도록 주의하며, 텍스트 파일을 다룰 때 유용한 문자열 검색 및 변경 작업을 적용해보세요. Python의 문자열 관련 함수들을 익혀서 파일 조작 작업을 보다 쉽고 효율적으로 할 수 있습니다.