본문 바로가기
두두 IT/파이썬 퀴즈

[W3S 오답노트] Python File Handling / Python Open File

by DoDo's 2026. 5. 6.
반응형

📂 파이썬 완벽 가이드: 세상의 모든 파일 열어보기 open()

우리가 컴퓨터로 엑셀 문서나 메모장을 다룰 때 가장 먼저 하는 행동이 무엇일까요? 바로 아이콘을 더블 클릭해서 '파일을 여는 것'입니다. 파일이 열려야 글을 읽든, 새로운 내용을 적든 할 수 있으니까요.

파이썬도 똑같습니다! 컴퓨터에 있는 파일을 파이썬으로 가져와서 지지고 볶으려면, 가장 먼저 open() 이라는 마법의 주문을 외워야 합니다.

📖 1. 핵심 원리: 파일 이름과 '목적' 알려주기

open() 함수를 쓸 때는 괄호 안에 딱 두 가지만 알려주면 됩니다.

  1. 어떤 파일을 열 것인지 (파일 이름)
  2. 무슨 목적으로 열 것인지 (읽기, 쓰기 등)

파이썬에서는 이 목적(Mode)을 알파벳 한 글자로 간단하게 표현합니다.

  • "r" (Read): 읽기 전용 (내용을 보기만 할 때)
  • "w" (Write): 쓰기 전용 (기존 내용을 다 지우고 새로 덮어쓸 때)
  • "a" (Append): 이어 쓰기 (기존 내용 맨 밑에 새로운 내용을 추가할 때)

💻 2. 코드로 보는 파일 열기

Python
 
# [1] 'my_data.txt'라는 텍스트 파일을 '읽기(r)' 모드로 엽니다.
# 그리고 그 열린 파일을 'f'라는 변수(손잡이)에 담아둡니다.
f = open("my_data.txt", "r")

# --- (이제 이 중간에서 f.read() 등을 이용해 파일 내용을 읽어옵니다!) ---

# [2] (중요!) 파일을 다 사용했다면 반드시 닫아주어야 합니다!
f.close()

💡 3. 보너스 꿀팁: 열었으면 닫아라! (close)

현실에서도 냉장고 문을 열었으면 닫아야 하듯이, 파이썬에서도 open()으로 파일을 열어주었다면 작업이 끝난 후 반드시 close() 함수를 이용해 닫아주어야 합니다. 그렇지 않으면 컴퓨터의 메모리를 계속 갉아먹거나 파일이 꼬일 수 있답니다.


📝 4. 핵심 한 줄 총정리 요약

"파이썬에서 외부 파일을 다루기 위한 첫걸음은 무조건 open('파일명', '목적') 함수로 파일을 여는 것이다!"


프로그램의 안쪽(논리, 객체)을 다루다가 드디어 프로그램 바깥(파일 시스템)으로 영역을 확장하셨네요! 축하드립니다. 👍

이제 파일을 여는 법을 알았으니, 파일을 가지고 어떤 마법을 먼저 부려볼까요?

  1. "파일 내용물 꺼내보기": 열어둔 텍스트 파일 안의 글자들을 파이썬 화면으로 쫙 빨아들이는 read() 기능 알아보기
  2. "파일에 글씨 쓰기": 파이썬 코드를 이용해 빈 텍스트 파일에 새로운 내용을 자동으로 적어 넣는 write() 기능 알아보기
  3. "데이터의 마법 상자": 아까 미처 고르지 못하셨던, 파이썬에서 데이터를 깔끔하게 묶어 관리하는 리스트(List)와 딕셔너리(Dictionary) 기초

 

True

📖 파이썬 완벽 가이드: 책갈피를 꽂아 한 줄씩 읽기 (readline)

파이썬에서 open()으로 파일을 열고 나면, 그 안의 글자들을 읽어올 수 있습니다. 이때 데이터를 숟가락으로 얼마나 크게 퍼먹을(?) 것인지 결정할 수 있는데, 가장 대표적인 두 가지 방법이 있습니다.

  • read() (통째로 삼키기): 파일 안의 텍스트를 처음부터 끝까지 한 번에 다 읽어옵니다. 데이터가 적을 때 유용합니다.
  • readline() (한 줄씩 음미하기): 오늘의 주인공입니다! 이 함수는 텍스트를 딱 한 줄만 읽어옵니다.

💡 핵심 원리: 보이지 않는 '책갈피(커서)'

readline()의 가장 중요한 특징은 한 줄을 읽고 나면 보이지 않는 책갈피(커서)를 바로 다음 줄 맨 앞으로 이동시켜 둔다는 것입니다.

따라서 문제에 나온 것처럼 readline()을 두 번 호출하면 어떻게 될까요?

💻 코드로 보는 완벽한 흐름

만약 my_data.txt 파일 안에 이렇게 세 줄이 적혀있다고 상상해 보겠습니다.

1번째 줄: 파이썬은 2번째 줄: 정말 3번째 줄: 재미있어!

Python
 
# [1] 파일을 읽기 모드로 엽니다. (이때 책갈피는 맨 처음 1번째 줄에 있습니다.)
f = open("my_data.txt", "r")

# [2] readline()을 처음 호출합니다. 
line1 = f.readline()
print(line1) 
# 출력: 파이썬은
# (숨은 동작: 책갈피가 2번째 줄로 내려갑니다!)

# [3] readline()을 두 번째 호출합니다.
line2 = f.readline()
print(line2)
# 출력: 정말
# (숨은 동작: 책갈피가 3번째 줄로 내려갑니다!)

f.close()

이렇게 readline()을 연달아 두 번 부르면 아주 자연스럽게 첫 번째 줄과 두 번째 줄을 차례대로 가져오게 됩니다. 따라서 퀴즈의 설명은 True(참) 가 맞습니다!


📝 핵심 한 줄 총정리 요약

"파일 내용을 통째로 다 가져오고 싶을 때는 read(), 책갈피를 넘기듯 한 줄씩 차례대로 가져오고 싶을 때는 readline()을 사용하자!"

반응형