📂 [Python 기초] AI 개발자를 위한 파일 입출력(File I/O) 활용하기
파일 입출력(File I/O)은 데이터를 저장하고 불러오는 데 필수적인 기능입니다.
프로그램을 실행할 때마다 데이터를 새로 입력해야 한다면 비효율적이겠죠?
파일을 활용하면 데이터를 저장하고 재사용할 수 있습니다.
이번 글에서는 파이썬에서 파일을 읽고, 쓰고, 수정하는 방법을 살펴보겠습니다 😊
💡 학습할 내용:
- 파일 열기와 닫기 (open(), close())
- 파일에 데이터 쓰기 (write(), writelines())
- 파일 읽기 (read(), readline(), readlines())
- 파일 모드 (w, r, a, x 등)
- 실전 예제 및 오류 처리 (try-except 활용)
📝 1. 파일 열기와 닫기
파일을 사용하려면 먼저 파일을 열고(open()), 사용 후 닫아야(close()) 합니다.
file = open("example.txt", "w") # 쓰기 모드로 파일 열기
file.write("Hello, Python File I/O!") # 파일에 내용 쓰기
file.close() # 파일 닫기
📌 파일을 닫아야 하는 이유
- 파일이 정상적으로 저장되지 않을 수 있음
- 시스템 리소스 낭비 방지
- 여러 개의 프로그램이 같은 파일을 사용할 때 오류 방지
✅ with문 사용하면 자동으로 파일이 닫혀요!
with open("example.txt", "w") as file:
file.write("Hello, Python!")
✍️ 2. 파일에 데이터 쓰기
파일에 데이터를 저장할 때는 write() 또는 writelines()를 사용합니다.
🔹 write() – 문자열 한 개 쓰기
with open("example.txt", "w") as file:
file.write("첫 번째 줄\n")
file.write("두 번째 줄\n")
📌 출력 결과 (example.txt 내용):
첫 번째 줄
두 번째 줄
🔹 writelines() – 리스트를 파일에 쓰기
lines = ["Python은 재미있어요!\n", "파일 입출력도 쉬워요!\n"]
with open("example.txt", "w") as file:
file.writelines(lines)
📖 3. 파일 읽기 (read, readline, readlines)
파일의 내용을 읽는 방법은 여러 가지가 있습니다.
🔹 read() – 파일 전체 읽기
with open("example.txt", "r") as file:
content = file.read()
print(content)
📌 출력 결과:
Python은 재미있어요!
파일 입출력도 쉬워요!
🔹 readline() – 한 줄씩 읽기
with open("example.txt", "r") as file:
line1 = file.readline()
line2 = file.readline()
print(line1, end="")
print(line2, end="")
📌 출력 결과:
Python은 재미있어요!
파일 입출력도 쉬워요!
🔹 readlines() – 모든 줄을 리스트로 읽기
with open("example.txt", "r") as file:
lines = file.readlines()
print(lines)
📌 출력 결과:
['Python은 재미있어요!\n', '파일 입출력도 쉬워요!\n']
🔄 4. 파일 모드 (w, r, a, x)
파이썬의 open() 함수는 여러 가지 모드를 지원합니다.
모드 | 설명 |
r | 읽기 모드 (파일이 존재해야 함) |
w | 쓰기 모드 (기존 내용 삭제됨) |
a | 추가 모드 (기존 내용 유지, 새로운 내용 추가) |
x | 파일이 없을 때만 새 파일 생성 |
# 추가 모드 ('a') 사용 예제
with open("example.txt", "a") as file:
file.write("세 번째 줄 추가!\n")
📌 출력 결과 (example.txt):
Python은 재미있어요!
파일 입출력도 쉬워요!
세 번째 줄 추가!
⚠️ 5. 파일 예외 처리 (try-except 활용)
파일이 존재하지 않거나 권한이 없을 경우 오류가 발생할 수 있습니다. try-except를 사용하면 안전하게 파일을 다룰 수 있습니다.
try:
with open("없는파일.txt", "r") as file:
content = file.read()
print(content)
except FileNotFoundError:
print("파일을 찾을 수 없습니다!")
📌 출력 결과:
파일을 찾을 수 없습니다!
🎯 6. 실전 연습 문제
✏️ 문제 1: 간단한 메모장 만들기
사용자가 입력한 내용을 파일에 저장하고, 다시 불러오는 프로그램을 만들어보세요.
filename = "memo.txt"
mode = input("쓰기(w) / 읽기(r) 모드 선택: ")
if mode == "w":
text = input("저장할 내용을 입력하세요: ")
with open(filename, "w") as file:
file.write(text + "\n")
elif mode == "r":
with open(filename, "r") as file:
print("저장된 내용:")
print(file.read())
else:
print("올바른 모드를 선택하세요!")
✏️ 문제 2: 파일에서 특정 단어 개수 세기
파일을 읽고 특정 단어가 몇 번 등장하는지 세는 프로그램을 작성해보세요.
word_to_find = input("찾을 단어: ")
count = 0
with open("example.txt", "r") as file:
for line in file:
count += line.count(word_to_find)
print(f"'{word_to_find}' 단어는 {count}번 등장합니다.")
📢 7. 마무리 및 다음 학습
이 글에서는 파일 입출력(File I/O) 개념을 배우고, 다양한 활용법을 살펴봤습니다.
실전 연습 문제를 직접 풀어보면서 파일 입출력에 대해 익혀보는 시간을 가져보면 좋겠습니다. 😊
✅ 다음 학습 주제
🔹 파이썬에서 JSON 파일 다루기 – 데이터를 저장하고 불러오는 더욱 효율적인 방법!
📌 파이썬 기초부터 차근차근 배우고 싶다면? 다음 글도 기대해주세요! 🚀
'AI와 친해지기 > AI를 직접해볼까?' 카테고리의 다른 글
[Python기초] AI개발자를 위한 CSV 파일을 다루는 법 (2) | 2025.02.15 |
---|---|
[Python기초] AI개발자를 위한 JSON 파일 다루기 (8) | 2025.02.14 |
[Python 기초] AI 개발자를 위한 클래스, 객체 지향 프로그래밍 (2) | 2025.02.12 |
[Python 기초] AI 개발자를 위한 함수 활용법 (1) | 2025.02.11 |
[Python 기초] AI개발자를 위한 제어문: 조건문과 반복문 (1) | 2025.02.09 |