week1-day4

Eden.Yang·2025년 3월 12일

MES

목록 보기
5/9

✅ 목요일 (파일 입출력, 예외처리)

📌 오늘 배울 핵심 개념:
✔️ 파일 읽고 쓰기 (open())를 사용하여 데이터를 저장하고 불러오기
✔️ 예외 처리 (try-except)를 활용하여 오류 방지

📌 1. 파일 읽기 (open("file.txt", "r"))

파이썬에서 파일을 읽으려면 open()을 사용하여 파일을 "읽기 모드(r)"로 열어야 합니다.
file = open("example.txt", "r")  # 파일을 읽기 모드로 열기
content = file.read()  # 파일 내용 읽기
file.close()  # 파일 닫기
print(content)  # 읽은 내용 출력

실행 방법:

  • 파일을 읽기(r 모드)로 열고, read()를 사용하여 내용을 가져옴
  • 사용 후 close()로 파일 닫기 (메모리 절약)

📌 2. 파일 쓰기 (open("file.txt", "w"))

✔️ 파일을 "쓰기 모드(w)"로 열면 새로운 내용을 작성할 수 있음
✔️ 기존 내용이 삭제되므로 주의! (w 모드는 기존 파일을 덮어씀)

file = open("example.txt", "w")  # 쓰기 모드로 파일 열기
file.write("Hello, Python!")  # 파일에 문자열 저장
file.close()  # 파일 닫기

실행 후 example.txt 내용:

Hello, Python!

📌 3. with를 활용한 안전한 파일 열기

✔️ with open()을 사용하면 자동으로 파일이 닫힘!
✔️ close()를 따로 호출하지 않아도 됨

with open("example.txt", "r") as file:
    content = file.read()
    print(content)

with를 사용하면 자동으로 파일이 닫혀서 안전함


🎯 과제 1: "data.txt" 파일을 생성하고, "Hello, Python!"을 저장하는 코드 작성

with open("data.txt", "w") as file:
    file.write("Hello, Python!")

✔️ "data.txt" 파일이 생성되고, "Hello, Python!"이 저장됨


📌 4. 파일에서 여러 줄 읽기 (readlines())

✔️ readlines()를 사용하면 파일의 내용을 리스트 형태로 가져올 수 있음

with open("example.txt", "r") as file:
    lines = file.readlines()  # 모든 줄을 리스트로 읽기
    for line in lines:
        print(line.strip())  # 개행 문자 제거 후 출력

파일 내용이 여러 줄일 경우 한 줄씩 처리 가능


🎯 과제 2: "data.txt" 파일을 읽고 출력하는 코드 작성

with open("data.txt", "r") as file:
    content = file.read()
    print(content)

✔️ "data.txt"의 내용을 읽고 터미널에 출력


📌 5. 사용자 입력을 받아 파일에 저장하기

✔️ input()을 사용하여 입력값을 파일에 저장

user_text = input("저장할 내용을 입력하세요: ")  # 사용자 입력 받기

with open("user_data.txt", "w") as file:
    file.write(user_text)  # 입력값을 파일에 저장

실행 후 "user_data.txt"에 사용자가 입력한 내용이 저장됨


🎯 과제 3: 사용자 입력을 받아 파일에 저장하는 코드 작성

user_input = input("저장할 내용을 입력하세요: ")

with open("user_text.txt", "w") as file:
    file.write(user_input)

✔️ "user_text.txt" 파일에 사용자 입력값 저장


📌 6. 예외 처리 (try-except)

✔️ 예외(Exception)란?

  • 프로그램 실행 중 발생하는 오류
  • 예외 처리를 하지 않으면 프로그램이 강제 종료될 수 있음

✔️ try-except를 사용하면 오류를 예측하고 안전하게 처리 가능

try:
    file = open("non_existent.txt", "r")  # 존재하지 않는 파일 열기
    content = file.read()
    file.close()
except FileNotFoundError:  # 파일이 없을 때 발생하는 오류 처리
    print("파일을 찾을 수 없습니다.")

"non_existent.txt" 파일이 없으면 "파일을 찾을 수 없습니다." 출력


🎯 과제 4: 존재하지 않는 파일을 열 때 오류를 방지하는 예외 처리 코드 작성

try:
    with open("unknown.txt", "r") as file:
        content = file.read()
        print(content)
except FileNotFoundError:
    print("파일이 존재하지 않습니다!")

✔️ 존재하지 않는 파일을 열어도 오류 없이 메시지를 출력


📌 7. 숫자 입력 시 오류 방지 (int(input()))

✔️ 숫자가 아닌 값을 입력하면 ValueError 발생
✔️ try-except를 사용하여 예외 처리 가능

try:
    number = int(input("숫자를 입력하세요: "))  # 숫자로 변환
    print(f"입력한 숫자는 {number}입니다.")
except ValueError:  # 숫자가 아닌 값을 입력했을 때 처리
    print("올바른 숫자를 입력하세요.")

예외 처리 후 프로그램이 강제 종료되지 않음


🎯 과제 5: 숫자 입력 시 오류가 발생하지 않도록 try-except 적용하여 변환

try:
    num = int(input("정수를 입력하세요: "))
    print(f"입력한 값: {num}")
except ValueError:
    print("숫자만 입력 가능합니다!")

✔️ 숫자가 아닌 값을 입력해도 프로그램이 멈추지 않음


📌 🔥 오늘 배운 내용 정리 🔥

개념설명
open("file.txt", "r")파일 읽기 모드
open("file.txt", "w")파일 쓰기 모드 (덮어씀)
with open()안전하게 파일 열기 (자동 닫힘)
readlines()여러 줄을 리스트로 읽기
write()파일에 데이터 쓰기
try-except예외 처리
FileNotFoundError존재하지 않는 파일 열 때 발생하는 오류
ValueError숫자로 변환할 수 없는 입력값 처리
profile
손끝에서 땅끝으로, 골방에서 열방으로

0개의 댓글