본문 바로가기
IT/Python Basic

[Python] 초급 개념9 - 파일 입출력 (I/O)

by Echinacea 2025. 2. 18.
반응형

파이썬에서는 open() 함수를 사용하여 파일을 읽고 쓰는 작업을 수행할 수 있습니다. 파일을 다룰 때는 적절한 모드를 선택하고, 사용이 끝나면 파일을 닫는 것이 중요합니다.


 

 

🔹 1. 파일 열기 및 닫기

파일을 열 때 open() 함수를 사용하며, 파일 작업이 끝나면 close()를 호출하여 닫아야 합니다.

 

파일 열기 기본 문법

file = open("example.txt", "r")  # 읽기 모드로 파일 열기
file.close()  # 파일 닫기

📌 설명:

  • "r": 읽기 모드 (기본값)
  • "w": 쓰기 모드 (파일이 존재하면 덮어씀)
  • "a": 추가 모드 (파일이 존재하면 기존 내용 유지하고 추가)
  • "x": 새로운 파일 생성 (파일이 존재하면 오류 발생)

 

 

🔹 2. 파일 읽기

파일 내용을 읽는 방법에는 read(), readline(), readlines() 등이 있습니다.

 

파일 전체 읽기

file = open("example.txt", "r")
content = file.read()
print(content)
file.close()

 

한 줄씩 읽기

file = open("example.txt", "r")
line = file.readline()  # 한 줄 읽기
print(line)
file.close()

 

모든 줄을 리스트로 읽기

file = open("example.txt", "r")
lines = file.readlines()  # 모든 줄을 리스트로 반환
print(lines)
file.close()

📌 설명:

  • read(): 파일 전체를 문자열로 반환
  • readline(): 한 줄만 읽어 반환
  • readlines(): 모든 줄을 리스트로 반환

 

 

🔹 3. 파일 쓰기

파일에 데이터를 기록하려면 "w" 또는 "a" 모드를 사용해야 합니다.

 

새 파일에 쓰기 (덮어쓰기)

file = open("example.txt", "w")
file.write("Hello, Python!\n")
file.write("파일 입출력 연습\n")
file.close()

 

기존 파일에 추가하기

file = open("example.txt", "a")
file.write("새로운 내용 추가\n")
file.close()

📌 주의: "w" 모드는 기존 파일 내용을 삭제하고 새로 작성합니다.


 

 

🔹 4. with 문을 활용한 파일 처리

파일을 열고 닫는 것을 자동으로 관리하려면 with 문을 사용하는 것이 좋습니다.

 

with 문을 사용한 파일 읽기

with open("example.txt", "r") as file:
    content = file.read()
    print(content)  # 파일을 다 읽으면 자동으로 닫힘

 

with 문을 사용한 파일 쓰기

with open("example.txt", "w") as file:
    file.write("Python 파일 입출력\n")

📌 장점:

  • with 문을 사용하면 close()를 명시적으로 호출할 필요가 없음
  • 예외가 발생해도 자동으로 파일이 닫힘

 

 

🔹 5. CSV 파일 다루기

CSV(Comma-Separated Values) 파일을 다룰 때는 csv 모듈을 활용하면 편리합니다.

 

CSV 파일 읽기

import csv

with open("data.csv", "r") as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

 

CSV 파일 쓰기

import csv

with open("data.csv", "w", newline="") as file:
    writer = csv.writer(file)
    writer.writerow(["이름", "나이", "도시"])
    writer.writerow(["철수", 25, "서울"])

📌 설명:

  • csv.reader(): CSV 파일을 읽어 리스트 형태로 반환
  • csv.writer(): 데이터를 CSV 형식으로 저장

 

 

🔹 6. 마무리

이번 문서에서는 파일 입출력의 기초를 학습했습니다.

 

핵심 요약

  • open() 함수로 파일을 열고 close()로 닫음
  • read(), readline(), readlines()를 사용하여 파일을 읽을 수 있음
  • "w", "a" 모드를 사용하여 파일에 데이터를 쓸 수 있음
  • with 문을 사용하면 자동으로 파일을 닫을 수 있음
  • csv 모듈을 사용하여 CSV 파일을 쉽게 다룰 수 있음

 

반응형

댓글