ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python 파일 입출력(File I/O) 🐍📝✨
    프로그래밍/Python 2025. 3. 10. 23:38
    반응형

    Python에서는 파일을 읽고 쓰는 기능을 제공하여 데이터를 저장하거나 불러올 수 있습니다. 이번 포스팅에서는 파일을 다루는 방법을 쉽게 설명하겠습니다! 🚀

    단, 예제로 준비하시는 파일은 되도록 같은 폴더에 넣으시는게 편하십니다!


    1. 파일 열기와 닫기 (open(), close())

    Python에서 파일을 열 때는 open() 함수를 사용합니다.

    📌 파일 여는 기본 구조

    파일객체 = open(파일이름, 모드)
    

    📌 파일 열기 모드 종류

    모드 설명

    r 읽기 모드 (기본값)
    w 쓰기 모드 (기존 내용 삭제)
    a 추가 모드 (기존 내용 유지, 뒤에 추가)
    b 바이너리 모드 (예: rb, wb - 이미지, 동영상 파일)

    📌 파일 닫기 (close())

    파일을 열면 사용이 끝난 후 반드시 닫아야 합니다.

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

    ✅ close()를 호출하지 않으면 파일이 계속 열려 있는 상태가 되어 오류가 발생할 수 있습니다.


    2. 파일 읽기 (read(), readline(), readlines())

    📌 파일 전체 읽기 (read())

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

    ✅ read()는 파일 전체 내용을 문자열로 반환합니다.

    📌 한 줄씩 읽기 (readline())

    file = open("example.txt", "r")
    line = file.readline()
    print(line)  # 첫 번째 줄 출력
    file.close()
    

    ✅ readline()은 한 줄씩 읽어오기에 적합합니다.

    📌 여러 줄을 리스트로 읽기 (readlines())

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

    ✅ readlines()는 각 줄을 리스트(list) 형태로 반환합니다.


    3. 파일 쓰기 (write())

    파일에 데이터를 저장할 때는 w(쓰기), a(추가) 모드를 사용합니다.

    📌 파일에 문자열 쓰기 (write())

    file = open("example.txt", "w")
    file.write("Hello, Python!\n")
    file.write("파일 입출력을 배워봅시다.\n")
    file.close()
    

    ✅ w 모드는 기존 내용을 덮어씁니다.

    📌 기존 내용 유지하고 추가하기 (a)

    file = open("example.txt", "a")
    file.write("추가된 내용입니다.\n")
    file.close()
    

    ✅ a 모드는 기존 내용 유지하고 뒤에 추가합니다.


    4. 안전한 파일 처리 (with open())

    파일을 열고 닫는 것을 자동으로 처리할 수 있습니다.

    📌 with open()을 사용한 안전한 파일 입출력

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

    ✅ with open()을 사용하면 close()를 호출하지 않아도 됩니다.


    5. CSV 파일 다루기 (csv 모듈)

    📌 CSV 파일 쓰기

    import csv
    
    with open("data.csv", "w", newline="") as file:
        writer = csv.writer(file)
        writer.writerow(["이름", "나이", "직업"])
        writer.writerow(["연탄", "3", "강아지"])
    

    ✅ csv.writer()를 사용하여 데이터를 작성할 수 있습니다.

    📌 CSV 파일 읽기

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

    ✅ csv.reader()를 사용하여 데이터를 읽어올 수 있습니다.


    6. JSON 파일 다루기 (json 모듈)

    📌 JSON 파일 저장하기

    import json
    
    data = {"이름": "연탄", "나이": 3, "직업": "강아지"}
    
    with open("data.json", "w") as file:
        json.dump(data, file, ensure_ascii=False, indent=4)
    

    ✅ json.dump()를 사용하여 JSON 파일을 저장할 수 있습니다.

    📌 JSON 파일 읽기

    with open("data.json", "r") as file:
        data = json.load(file)
        print(data)
    

    ✅ json.load()를 사용하여 JSON 데이터를 불러올 수 있습니다.


    7. 연습문제: 직접 실습해보기! 🎯

    아래 코드를 직접 작성하고 실행해보세요!

    # 1. 새로운 텍스트 파일을 만들고 "Python 파일 입출력"이라는 문장을 저장하세요.
    with open("test.txt", "w") as file:
        file.write("Python 파일 입출력\n")
    
    # 2. 저장된 파일을 읽어서 출력하세요.
    with open("test.txt", "r") as file:
        print(file.read())
    
    # 3. 기존 test.txt 파일에 "새로운 줄 추가하기"라는 문장을 추가하세요.
    with open("test.txt", "a") as file:
        file.write("새로운 줄 추가하기\n")
    

     


    마무리 🎯

    오늘은 Python의 파일 입출력(File I/O)을 배웠습니다! 🏆

    • open()을 사용하여 파일을 열고 닫는 방법
    • read(), write(), append()를 활용한 파일 읽기/쓰기
    • csv, json 모듈을 이용한 데이터 저장 및 불러오기
    • with open()을 활용한 안전한 파일 처리

    💡 다음 포스팅에서는 '예외 처리(Try-Except)'를 다룰 예정입니다! 🚀

    ✍️ 질문이나 궁금한 점이 있다면 댓글로 남겨주세요! 😊

Designed by Tistory.