04 — LECTURE ·PY-10 ·2026.02.12

10. 파일 입출력

open으로 파일을 열고 쓰고 읽는 기본 흐름

목차
  1. 학습 목표
  2. 1. 파일 입출력 기본
  3. open() 함수
  4. 파일 모드
  5. 기본 흐름
  6. 실습 10-1. 파일 쓰기
  7. 2. 리스트를 파일로 저장
  8. 방법
  9. 실습 10-2. 선수 성적 리스트 → 파일 저장
  10. 3. 파일 읽기
  11. readlines()
  12. 실습 10-3. 파일 읽기
  13. open() 함수 파일 모드 정리

스포츠 데이터로 배우는 파이썬 기초

학습 목표

  • open() 함수로 파일 열기
  • 파일 쓰기 (write) 와 읽기 (readlines)
  • 리스트 데이터를 파일로 저장
  • 파일 모드('w', 'r', 'a') 구분

1. 파일 입출력 기본

open() 함수

file = open('파일명', '모드', encoding='utf8')

파일 모드

모드설명
'w'쓰기 (기존 내용 덮어씀)
'r'읽기
'a'추가 (기존 내용 뒤에 이어씀)

기본 흐름

  1. open() — 파일 열기
  2. write() 또는 read() — 작업 수행
  3. close() — 파일 닫기 (필수!)

실습 10-1. 파일 쓰기

file = open('sample.txt', 'w', encoding='utf8')
file.write('안녕하세요. 반갑습니다.')
file.close()
print('파일 쓰기 완료!')
파일 쓰기 완료!

2. 리스트를 파일로 저장

방법

  • 리스트를 반복문으로 순회
  • 각 항목에 줄바꿈(\n)을 추가하며 문자열로 합침
  • write() 로 파일에 저장

실습 10-2. 선수 성적 리스트 → 파일 저장

scores = [
    '김소영 82 80 93 97 93 88',
    '정예린 86 100 93 86 90 77',
    '이세영 91 88 99 79 92 68',
    '정수정 86 100 93 89 92 93',
    '박지수 80 100 95 89 90 84'
]

data = ''
for item in scores:
    data += item + '\n'

# 화면 출력
print(data)

# 파일에 저장
file = open('scores.txt', 'w', encoding='utf8')
file.write(data)
file.close()
print('scores.txt 저장 완료!')
김소영 82 80 93 97 93 88
정예린 86 100 93 86 90 77
이세영 91 88 99 79 92 68
정수정 86 100 93 89 92 93
박지수 80 100 95 89 90 84

scores.txt 저장 완료!

3. 파일 읽기

readlines()

  • 파일의 각 줄을 리스트로 반환
  • 각 항목에 줄바꿈(\n)이 포함됨
  • end='' 로 줄바꿈 중복 방지

실습 10-3. 파일 읽기

file = open('scores.txt', 'r', encoding='utf8')
lines = file.readlines()

print('scores.txt 파일의 내용:')
for line in lines:
    print(line, end='')

file.close()
scores.txt 파일의 내용:
김소영 82 80 93 97 93 88
정예린 86 100 93 86 90 77
이세영 91 88 99 79 92 68
정수정 86 100 93 89 92 93
박지수 80 100 95 89 90 84

open() 함수 파일 모드 정리

모드설명파일 없을 때
'r'읽기 전용FileNotFoundError
'w'쓰기 (덮어씀)새로 생성
'a'추가 (이어씀)새로 생성
'r+'읽기+쓰기FileNotFoundError