프로그램을 만들다 보면 데이터를 파일로 저장하거나, 저장된 파일을 읽어와서 사용하는 작업이 필요합니다.
파이썬에서는 open() 함수를 이용해 파일을 읽고, 쓰고, 수정할 수 있습니다.
이번 글에서는 파일 입출력의 기본 개념, 주요 기능, 활용법을 배워보겠습니다.

파일 열기와 닫기
파이썬에서 파일을 다룰 때는 open() 함수를 사용합니다. 파일을 연 후에는 반드시 close()를 호출하여 닫아야 합니다.
📌 파일 열기 (open()) 기본 형식
파일객체 = open("파일이름", "모드")
모드 설명
“r" - 읽기 모드 (파일 읽기 전용)
"w" 쓰기 모드 (파일이 없으면 생성, 기존 내용 삭제)
"a" 추가 모드 (파일 끝에 내용 추가)
"x" 새 파일 생성 (이미 존재하면 오류 발생)
파일 쓰기 (write())
🔹 파일에 텍스트 저장하기
file = open("example.txt", "w") # 쓰기 모드로 파일 열기
file.write("Hello, Python!\n")
file.write("파일 입출력을 배워봅시다.\n")
file.close() # 파일 닫기
✅ "w" 모드는 기존 파일이 있으면 내용을 덮어씀
✅ \n 을 사용하면 줄바꿈 가능
파일 읽기 (read(), readline(), readlines())
🔹 파일 전체 읽기 (read())
file = open("example.txt", "r") # 읽기 모드로 파일 열기
content = file.read()
print(content)
file.close()🔹 한 줄씩 읽기 (readline())
file = open("example.txt", "r")
line1 = file.readline() # 첫 번째 줄 읽기
line2 = file.readline() # 두 번째 줄 읽기
print(line1, end="")
print(line2, end="")
file.close()🔹 모든 줄을 리스트로 저장 (readlines())
file = open("example.txt", "r")
lines = file.readlines() # 모든 줄을 리스트로 저장
print(lines)
file.close()with 문을 이용한 파일 관리
파일을 열고 닫는 과정을 자동으로 처리할 수 있도록 with 문을 사용하면 더 안전합니다.
🔹 with 문 활용하기
with open("example.txt", "r") as file:
content = file.read()
print(content) # 자동으로 파일이 닫힘
✅ with 블록이 끝나면 파일이 자동으로 닫힘
파일에 데이터 추가 (append 모드)
기존 파일의 내용을 유지하면서 새로운 내용을 추가하려면 "a" 모드를 사용합니다.
🔹 기존 파일 끝에 내용 추가하기
with open("example.txt", "a") as file:
file.write("새로운 내용 추가!\n")
✅ "a" 모드는 기존 내용은 그대로 두고 새로운 내용을 추가
CSV 파일 읽고 쓰기
CSV(Comma-Separated Values) 파일은 데이터를 쉼표(,)로 구분하여 저장하는 파일 형식입니다.
🔹 CSV 파일 저장하기
import csv
with open("data.csv", "w", newline="") as file:
writer = csv.writer(file)
writer.writerow(["이름", "나이", "직업"])
writer.writerow(["홍길동", 25, "개발자"])
writer.writerow(["김철수", 30, "디자이너"])🔹 CSV 파일 읽기
import csv
with open("data.csv", "r") as file:
reader = csv.reader(file)
for row in reader:
print(row)JSON 파일 읽고 쓰기
JSON (JavaScript Object Notation)은 데이터를 저장하고 전송하는데 많이 사용되는 형식입니다.
파이썬에서는 json 모듈을 사용하여 JSON 데이터를 쉽게 다룰 수 있습니다.
🔹 JSON 파일 저장하기
import json
data = {
"이름": "홍길동",
"나이": 25,
"직업": "개발자"
}
with open("data.json", "w", encoding="utf-8") as file:
json.dump(data, file, ensure_ascii=False, indent=4) # JSON 저장🔹 JSON 파일 읽기
import json
with open("data.json", "r", encoding="utf-8") as file:
data = json.load(file)
print(data)
✅ json.dump() → JSON 파일로 저장
✅ json.load() → JSON 파일을 읽어서 파이썬 딕셔너리로 변환
파일 입출력 실전 예제
🔹 간단한 메모장 프로그램
file_name = "memo.txt"
# 사용자 입력 저장
with open(file_name, "w") as file:
while True:
text = input("메모할 내용을 입력하세요 (종료하려면 'exit' 입력): ")
if text.lower() == "exit":
break
file.write(text + "\n")
# 저장된 메모 읽기
with open(file_name, "r") as file:
print("\n[ 저장된 메모 ]")
print(file.read())
✅ 사용자가 입력한 내용을 파일에 저장
✅ 프로그램을 종료하면 저장된 내용을 출력
마무리 및 요약
✅ open("파일이름", "모드") 를 사용하여 파일을 읽거나 쓸 수 있음
✅ "w" 모드는 새로운 파일을 만들거나 기존 내용을 덮어씀
✅ "a" 모드는 기존 파일의 끝에 내용을 추가
✅ "r" 모드는 파일을 읽기 전용으로 엶
✅ with open() 문법을 사용하면 자동으로 파일을 닫을 수 있어 안전함
✅ CSV, JSON 파일도 csv, json 모듈을 이용해 쉽게 처리 가능
다음 글에서는 예외 처리 (try-except)를 배우겠습니다!
#파이썬 #Python #프로그래밍 #코딩기초 #파이썬배우기 #파일입출력 #파일처리 #코딩공부 #개발자 #PythonTips #IT학습 #CSV #JSON #Python3
'IT - 프로그래밍 > 파이썬' 카테고리의 다른 글
| 파이썬 배우기: 재귀 함수 활용하기 (0) | 2025.02.27 |
|---|---|
| 파이썬 배우기: 익명 함수(lambda 함수) (0) | 2025.02.26 |
| 파이썬 배우기: 위치 인수와 키워드 인수 활용하기 (0) | 2025.02.20 |
| 파이썬 배우기: 예외 처리(try-except) 하는 방법 (0) | 2025.02.19 |
| 파이썬 배우기: 딕셔너리(Dictionary)와 세트(Set) 활용하기 (0) | 2025.02.17 |