파일 입출력 기초
10강: 파일 입출력 기초 - 코드 속으로 시간 여행하기!
안녕하세요, 코딩 모험가 여러분! 👋 이제 여러분은 코드 세계에서 가장 신나는 모험을 시작하실 거예요. 오늘의 주제는 파일 입출력 기초입니다! 이걸 배우면 컴퓨터와 친구가 되어 데이터를 쉽게 주고 받는 마법사가 될 거예요. 준비되셨나요? 그럼 출발해봅시다!
🌟 파일 입출력이란?
파일 입출력은 컴퓨터 세계에서 책을 읽고 쓰는 것과 같아요. 🚀 도서관에서 책을 빌려 읽고, 필요하면 새 책을 써두는 것처럼요! 프로그램에서도 데이터를 저장하고 읽는 과정이 바로 파일 입출력입니다. 이 기능 없이는 데이터 관리가 불가능할 거예요!
기본 개념 이해하기
1. 읽기 (Reading)
- 목적: 파일에서 정보를 가져오는 것.
- 비유: 도서관에서 책을 빌려 읽는 것처럼요! 📚
2. 쓰기 (Writing)
- 목적: 데이터를 파일에 저장하는 것.
- 비유: 새로 책을 써서 도서관에 기증하는 것처럼요! 📖
파이썬에서 파일 다루기: 단계별 가이드
🛠️ 파일 열기와 읽기
예제 코드 1: 기본 읽기 함수 사용
# 파일을 열 때는 'with' 문을 사용해요. 마치 책을 읽을 때는 도서관에서 빌리듯이요!
with open('example.txt', 'r') as file:
# 파일 내용을 한 줄씩 읽어들입니다. 마치 페이지를 넘기듯이!
content = file.read()
print("파일 내용:", content)
코드 설명:
open('example.txt', 'r'):'example.txt'파일을 읽기 모드('r')로 엽니다.with문: 파일을 자동으로 닫아줍니다. 마치 책을 읽은 후 도서관에 돌려주는 것처럼요!file.read(): 파일 전체 내용을 읽어들입니다. 마치 한 번에 모든 페이지를 읽는 것 같아요!
예제 코드 2: 줄 단위 읽기
# 파일 내용을 줄 단위로 읽어보겠습니다. 마치 한 권의 책을 페이지 단위로 읽는 것처럼요!
with open('example.txt', 'r') as file:
lines = file.readlines() # 각 줄을 리스트로 읽음
for line in lines:
print(line.strip()) # strip()으로 줄 끝의 공백 제거
코드 설명:
readlines(): 각 줄을 리스트로 반환합니다.for line in lines: 각 줄을 하나씩 처리합니다. 마치 책을 한 페이지씩 읽는 것 같죠!line.strip(): 줄 끝의 불필요한 공백을 제거합니다. 마치 책의 마지막 빈 페이지를 넘기는 것 같아요!
📄 파일 쓰기
예제 코드 3: 데이터 쓰기
# 새로운 데이터를 파일에 쓰는 예제입니다. 마치 새 책을 도서관에 기증하는 것처럼요!
data_to_write = "이것은 새 데이터입니다.\n추가 줄입니다.\n마지막 줄입니다."
with open('new_example.txt', 'w') as file:
file.write(data_to_write)
print("데이터가 파일에 성공적으로 쓰였습니다!")
코드 설명:
open('new_example.txt', 'w'):'new_example.txt'파일을 쓰기 모드('w')로 엽니다. 이미 있는 파일은 지워져요! ⚠️file.write(data_to_write): 문자열을 파일에 씁니다. 마치 새 내용을 책에 적는 것 같죠!
예제 코드 4: 여러 줄 쓰기
# 여러 줄을 추가로 쓰는 방법도 알아보죠!
lines_to_write = ["첫 번째 줄\n", "두 번째 줄\n", "세 번째 줄"]
with open('more_data.txt', 'a') as file: # 'a' 모드는 파일 끝에 추가로 쓰는 모드
for line in lines_to_write:
file.write(line)
print("데이터가 파일의 끝에 추가되었습니다!")
코드 설명:
open('more_data.txt', 'a'):'a'모드를 사용하면 파일 끝에 추가로 쓰는 것이 가능합니다. 마치 책의 뒷쪽에 새 내용을 추가하는 것 같죠!for line in lines_to_write: 각 줄을 순차적으로 쓰는 과정입니다. 마치 책의 각 페이지에 내용을 추가하는 것 같아요!
💡 초보자 폭풍 질문!
질문 1: 'w' 모드로 파일을 열었을 때 기존 내용이 지워지나요?
- 답변: 네, 맞습니다!
'w'모드는 파일을 덮어쓰므로 기존 내용이 모두 지워집니다. 주의하세요! 대신 데이터 백업을 해두는 습관을 들이는 게 좋습니다. 😎
질문 2: 'r+' 모드는 무엇을 의미하나요?
- 답변:
'r+'모드는 읽기와 쓰기를 모두 할 수 있는 모드입니다. 하지만 주의해야 할 점은 파일을 열기 전에 이미 데이터가 있는지 확인해야 합니다. 그렇지 않으면 예상치 못한 결과가 생길 수 있어요! 📝
🚨 실무주의보
파일 입출력 작업 시에는 다음 사항을 꼭 기억하세요:
- 데이터 백업: 중요한 데이터를 수정하거나 삭제하기 전에 반드시 백업을 해두세요!
- 오류 처리: 파일이 존재하지 않거나 접근 권한이 없을 때 예외 처리를 해야 합니다.
try-except구문을 활용해보세요!
결론
파일 입출력은 프로그래밍에서 필수적인 기술입니다. 마치 디지털 세계의 도서관 관리자가 되는 것 같죠! 이제 여러분도 이 능력을 갖추어 데이터를 자유롭게 관리할 수 있게 되셨어요. 다음 강의에서는 더 복잡한 파일 처리 기법을 배워볼 예정이니, 계속 연습하고 질문해주세요! 💪
오늘도 코딩 모험가 여러분, 멋진 하루 되세요! 🚀
<hr>