Python으로 텍스트 파일의 이전 줄 뒤에 문자열 추가하기
텍스트 파일의 특정 줄 뒤에 문자열을 추가하는 것은 파일 처리 작업에서 자주 필요한 기능입니다. 이 글에서는 Python을 사용하여 이 작업을 수행하는 여러 방법을 살펴보겠습니다.
1. 문제 상황
예를 들어, 다음과 같은 내용의 파일이 있다고 가정해 봅시다:
1
2
3
여기에 마지막 줄 뒤에 "hello"를 추가하고 싶습니다:
1
2
3hello
2. 해결 방법
2.1 파일 전체를 읽고 수정하는 방법
파일이 크지 않은 경우 사용할 수 있는 간단한 방법입니다[1]:
with open(filepath, "r") as fp:
lines = fp.readlines()
with open(filepath, "w") as fp:
for i, line in enumerate(lines):
if i == len(lines) - 1: # 마지막 줄
fp.write(line.strip() + "hello\n")
else:
fp.write(line)
2.2 파일을 한 줄씩 처리하는 방법
대용량 파일의 경우 메모리 효율을 위해 한 줄씩 처리할 수 있습니다[2]:
import fileinput
import sys
for line in fileinput.input(filepath, inplace=True):
if fileinput.isfirstline():
sys.stdout.write(line)
else:
sys.stdout.write(line.rstrip() + "hello\n")
3. 고려 사항
- 파일 크기: 대용량 파일의 경우 한 줄씩 처리하는 방법이 메모리 효율적입니다.
- 백업: 파일을 수정하기 전에 백업을 만드는 것이 좋습니다.
- 성능: 파일 크기가 매우 큰 경우, 임시 파일을 사용하여 처리하는 것이 좋을 수 있습니다[2].
결론
Python을 사용하여 텍스트 파일의 특정 줄 뒤에 문자열을 추가하는 방법은 여러 가지가 있습니다. 파일 크기와 성능 요구 사항에 따라 적절한 방법을 선택하는 것이 중요합니다. 항상 데이터 무결성을 유지하기 위해 주의를 기울이고, 가능하면 파일을 수정하기 전에 백업을 만드는 것이 좋습니다.