[파이썬] 파일의 특정 문자열 치환

파이썬에서는 간편한 방법으로 파일의 특정 문자열을 다른 문자열로 치환할 수 있습니다. 이에 대한 예제를 살펴보겠습니다.

def replace_string_in_file(file_name, old_string, new_string):
    try:
        # 파일을 읽기 모드로 엽니다
        with open(file_name, 'r') as file:
            # 파일 내용을 읽어옵니다
            file_contents = file.read()

        # 문자열을 치환합니다
        new_contents = file_contents.replace(old_string, new_string)

        # 파일을 쓰기 모드로 엽니다
        with open(file_name, 'w') as file:
            # 새로운 내용으로 파일을 덮어씁니다
            file.write(new_contents)

        print(f"파일 '{file_name}'에서 '{old_string}'을(를) '{new_string}'으로 치환했습니다.")
    except FileNotFoundError:
        print(f"파일 '{file_name}'이(가) 존재하지 않습니다.")

# 파일명과 치환할 문자열, 새로운 문자열을 지정합니다.
file_name = 'example.txt'
old_string = 'Hello'
new_string = 'Hi'

# 함수를 호출하여 파일의 문자열을 치환합니다.
replace_string_in_file(file_name, old_string, new_string)

위의 예제는 주어진 파일에서 특정 문자열을 찾아 다른 문자열로 치환하는 replace_string_in_file() 함수를 보여줍니다. 이 함수는 다음과 같은 기능을 수행합니다:

  1. 주어진 파일을 읽기 모드로 엽니다.
  2. 파일 내용을 읽어옵니다.
  3. replace() 함수를 사용하여 이전 문자열을 새로운 문자열로 치환합니다.
  4. 파일을 쓰기 모드로 엽니다.
  5. 새로운 내용으로 파일을 덮어씁니다.

위의 예제에서는 “example.txt” 파일에서 “Hello” 문자열을 “Hi”로 치환하고 있습니다. 만약 해당 파일이 존재하지 않을 경우 “FileNotFoundError” 예외가 발생합니다.