Python 24일 코스 - Day 11: 파일 입출력

Day 11: 파일 입출력

파일 쓰기

with open("hello.txt", "w", encoding="utf-8") as f:
    f.write("안녕하세요\n")
    f.write("Python 파일 입출력입니다\n")

파일 읽기

# 전체 읽기
with open("hello.txt", "r", encoding="utf-8") as f:
    content = f.read()
    print(content)

# 줄 단위 읽기
with open("hello.txt", "r", encoding="utf-8") as f:
    for line in f:
        print(line.strip())

파일 모드

모드설명
r읽기 (기본값)
w쓰기 (덮어쓰기)
a추가 (append)
x새 파일 생성 (이미 있으면 에러)
rb / wb바이너리 읽기/쓰기

CSV 파일 처리

import csv

# CSV 쓰기
data = [["이름", "나이", "도시"], ["철수", 25, "서울"], ["영희", 30, "부산"]]
with open("data.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.writer(f)
    writer.writerows(data)

# CSV 읽기
with open("data.csv", "r", encoding="utf-8") as f:
    reader = csv.DictReader(f)
    for row in reader:
        print(f"{row['이름']} - {row['나이']}세")

파일 존재 확인

from pathlib import Path

file_path = Path("hello.txt")
if file_path.exists():
    print(f"파일 크기: {file_path.stat().st_size} bytes")
else:
    print("파일이 존재하지 않습니다")

오늘의 연습문제

  1. 사용자 입력을 받아 텍스트 파일에 한 줄씩 추가하는 메모장을 만드세요.
  2. CSV 파일에서 특정 열의 평균값을 계산하는 프로그램을 작성하세요.
  3. 텍스트 파일의 단어 수, 줄 수, 문자 수를 세는 프로그램을 작성하세요.

이 글이 도움이 되었나요?