ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬 배우기: 파일 입출력 알아보기
    IT - 프로그래밍/파이썬 2025. 2. 18. 12:30
    반응형

    프로그램을 만들다 보면 데이터를 파일로 저장하거나, 저장된 파일을 읽어와서 사용하는 작업이 필요합니다.
    파이썬에서는 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

    반응형
Designed by Tistory.