엑셀만큼이나 자주 다루는 것이 바로 텍스트 기반의 메모장 파일입니다. 로그 기록, 단순 데이터 저장, 설정값 변경 등 파일 입출력은 자동화의 기초입니다. 오늘은 파이썬으로 파일을 어떻게 열고, 쓰고, 닫는지 그 핵심 원리를 알아보겠습니다.
1. 파일 열기: open() 함수
파일을 다루는 첫 단계는 open() 함수입니다. 파일 경로와 함께 어떤 용도로 쓸지 모드를 지정해야 합니다.
'r' (Read): 읽기 모드. 파일 내용을 읽기만 할 때 사용합니다.
'w' (Write): 쓰기 모드. 파일 내용을 새로 쓸 때 사용합니다. (기존 내용은 삭제되니 주의!)
'a' (Append): 추가 모드. 기존 파일 내용 뒤에 새로운 내용을 덧붙일 때 사용합니다.
예시: f = open("memo.txt", "r", encoding="utf-8")
여기서 encoding="utf-8"은 한글이 깨지지 않게 해주는 필수 옵션입니다.
2. 파일 닫기: close()의 중요성
파일을 열었으면 반드시 닫아야 합니다. 닫지 않으면 메모리가 낭비되거나, 파일이 손상될 위험이 있습니다.
f.close()
하지만 코드를 짜다 보면 깜빡하고 닫지 않는 경우가 많습니다. 이때 유용한 것이 바로 with 문입니다. with 문을 사용하면 블록이 끝날 때 파이썬이 자동으로 파일을 닫아줍니다.
예시:
with open("memo.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)
3. 읽고 쓰기: read와 write
f.read(): 파일의 전체 내용을 한 번에 읽어옵니다.f.readline(): 한 줄씩 읽어옵니다.f.write("내용"): 파일에 문자열을 씁니다.
예를 들어, 업무 중에 생성되는 로그 파일의 내용을 읽어서 특정 단어가 포함되어 있는지 확인하는 작업은 f.readline()과 조건문을 결합하면 아주 간단하게 자동화할 수 있습니다.
4. 실전 팁: 파일 경로 주의사항
파일을 다룰 때 가장 당황스러운 에러는 'File Not Found Error'입니다. 이는 파이썬이 파일이 어디 있는지 찾지 못할 때 발생합니다.
코드를 실행하는 파일과 메모장 파일이 같은 폴더에 있는지 확인하세요. 만약 다른 곳에 있다면 전체 경로(예: C:/Users/Documents/memo.txt)를 써주어야 합니다. 특히 윈도우 경로를 쓸 때는 백슬래시(\) 대신 슬래시(/)를 사용하는 것이 좋습니다.
[핵심 요약]
파일을 다룰 때는
open함수를 사용하고 읽기('r'), 쓰기('w'), 추가('a') 모드를 구분해야 한다.파일을 안전하게 닫기 위해
with문을 사용하는 습관을 들이는 것이 좋다.한글 파일이 깨진다면
encoding="utf-8"옵션을 꼭 추가하자.
👉 다음 편에서는 파일 입출력 중 발생하는 에러를 우아하게 해결하는 방법, 즉 '예외 처리(try-except)'에 대해 알아보겠습니다. 프로그램이 중간에 멈추지 않고 끝까지 돌아가게 만드는 안정적인 코딩 기술입니다.
오늘 배운 파일 입출력을 활용하여 평소 어떤 업무를 자동화하고 싶으신가요? "여러 개의 텍스트 파일 내용을 하나로 합치고 싶다"거나 "특정 조건의 파일만 찾아서 이름을 바꾸고 싶다"는 등의 구체적인 아이디어가 있다면 댓글로 공유해 주세요! 다음 편 예제에 적극 반영하겠습니다.
0 댓글