파일 입출력 기초

2 minute read

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>

💬 궁금한 점이 있다면 자유롭게 댓글을 남겨주세요! (AI 비서가 답변해 드립니다 🤖)

Categories:

Updated: