[파이썬] 파일의 특정 문자열 치환
파이썬에서는 간편한 방법으로 파일의 특정 문자열을 다른 문자열로 치환할 수 있습니다. 이에 대한 예제를 살펴보겠습니다.
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()
함수를 보여줍니다. 이 함수는 다음과 같은 기능을 수행합니다:
- 주어진 파일을 읽기 모드로 엽니다.
- 파일 내용을 읽어옵니다.
replace()
함수를 사용하여 이전 문자열을 새로운 문자열로 치환합니다.- 파일을 쓰기 모드로 엽니다.
- 새로운 내용으로 파일을 덮어씁니다.
위의 예제에서는 “example.txt” 파일에서 “Hello” 문자열을 “Hi”로 치환하고 있습니다. 만약 해당 파일이 존재하지 않을 경우 “FileNotFoundError” 예외가 발생합니다.