Python에서 파일을 읽는 방법(텍스트 및 JSON)

Python에서 파일을 읽는 방법을 알아보세요. open 문, readline, readline을 마스터하고 파일 예외를 안전하게 처리하세요.

Editor에서 이 솔루션을 사용해 보세요.

개요

파일 처리는 모든 Python 개발자에게 필수적인 기술입니다. 파일에서 데이터를 읽으면 텍스트 문서, 구성, 로그, 데이터베이스 및 구조화된 데이터 세트를 처리할 수 있습니다. Python은 내장된 `open()` 함수를 통해 파일 작업을 매우 간단하게 만듭니다.

파일 작업 시 가장 중요한 모범 사례는 컨텍스트 관리자를 생성하는 `with` 문을 사용하는 것입니다. 'with open(...)' 패턴은 내부에서 예외가 발생하더라도 실행이 블록을 떠나자마자 파일이 안전하고 적절하게 닫히는 것을 보장합니다. 파일을 닫는 것을 잊어버리면 메모리 누수, 파일 손상 및 다른 시스템 프로세스의 리소스 잠금이 발생할 수 있습니다.

Python은 파일이 열리면 데이터를 읽는 여러 가지 방법을 제공합니다. `.read()` 메서드는 파일의 전체 내용을 단일 문자열로 반환합니다. `.readline()` 메서드는 한 줄을 읽으므로 메모리에 맞지 않는 대용량 파일을 반복하는 데 적합합니다. `.readlines()` 메서드는 모든 줄을 읽고 이를 문자열 목록으로 반환합니다. 어떤 방법을 사용해야 하는지 이해하면 메모리 고갈을 방지하고 프로그램의 확장성을 높일 수 있습니다.

코드 및 실행 출력

이 스크립트는 컨텍스트 관리자를 사용하여 한 줄씩 읽기 및 오류 처리를 통해 안전하게 파일 내용을 읽는 방법을 보여줍니다.

# Writing a dummy file first
with open("sample.txt", "w") as f:
    f.write("Line 1: Welcome to PyRun!\nLine 2: Python runs in the browser.\nLine 3: Clean and simple.")

# 1. Read entire file contents
with open("sample.txt", "r") as file:
    content = file.read()
    print("--- Entire File ---")
    print(content)

# 2. Read line-by-line (Memory efficient for large files)
print("\n--- Line by Line ---")
with open("sample.txt", "r") as file:
    for line in file:
        print("Read line:", line.strip())
터미널 출력
--- Entire File ---
Line 1: Welcome to PyRun!
Line 2: Python runs in the browser.
Line 3: Clean and simple.

--- Line by Line ---
Read line: Line 1: Welcome to PyRun!
Read line: Line 2: Python runs in the browser.
Read line: Line 3: Clean and simple.

단계별 구현

  • 읽기 위해 파일을 안전하게 열려면 with open("filename", "r") as file 문을 사용하세요.
  • file.read()를 호출하여 전체 파일 내용을 변수에 로드합니다.
  • for 루프를 사용하여 파일 객체를 직접 반복하여 한 줄씩 효율적으로 읽습니다.
  • 국제 문자 호환성을 위해 항상 인코딩(예: 인코딩="utf-8")을 지정하세요.

자주 묻는 질문

파일을 열 때 with 문을 사용해야 하는 이유는 무엇입니까?

with 문은 오류가 발생하더라도 블록이 종료될 때 자동으로 파일을 닫는 컨텍스트 관리자를 만듭니다.

FileNotFoundError를 어떻게 처리합니까?

open() 문을 try-Exception 블록으로 감싸서 FileNotFoundError: try: with open(...) ... Except FileNotFoundError: print("파일을 찾을 수 없습니다!")를 포착합니다.

관련 주제

권장 Python 리소스

관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.