프로그래밍/Python

파이썬 파일 입출력 마스터하기: 완벽 가이드

shimdh 2025. 2. 23. 09:56
728x90

파이썬 파일 입출력 마스터하기: 완벽 가이드

파이썬은 다양한 종류의 데이터를 파일로 저장하고 읽어오는 기능을 제공합니다. 파일 입출력은 데이터 분석, 웹 개발, 시스템 관리 등 다양한 분야에서 필수적으로 사용되는 기능입니다. 본 포스트에서는 파이썬 파일 입출력에 대한 모든 것을 알아보고, 효율적인 파일 처리 방법을 제시합니다.

1. 파일 열기: 모드와 권한의 이해

파일을 열기 위해서는 open() 함수를 사용합니다. open() 함수는 파일 경로와 모드를 인자로 받습니다. 파일 모드는 파일에 대한 접근 권한과 작업 목적을 정의합니다.

파일 모드의 종류

모드 설명
'r' 읽기 모드: 파일 내용을 읽기만 합니다. 파일이 없으면 오류 발생
'w' 쓰기 모드: 파일에 새로운 내용을 쓰거나 기존 내용을 덮어씁니다. 파일이 없으면 새로 생성
'a' 추가 모드: 파일 기존 내용 뒤에 새로운 내용을 추가합니다. 파일이 없으면 새로 생성
'b' 바이너리 모드: 바이너리 파일을 처리할 때 사용 (이미지, 오디오, 비디오 등)
'x' 배타적 생성 모드: 파일을 새로 생성합니다. 이미 파일이 존재하면 오류 발생
'+' 업데이트 모드: 읽기 및 쓰기 모두 가능. 다른 모드와 함께 사용 ('r+', 'w+', 'a+')

예시: 텍스트 파일 열기

# 'example.txt' 파일을 읽기 모드로 엽니다.
file = open('example.txt', 'r')

# 'output.txt' 파일을 쓰기 모드로 엽니다.
output_file = open('output.txt', 'w')

# 'data.bin' 파일을 바이너리 읽기 모드로 엽니다.
binary_file = open('data.bin', 'rb')

2. 데이터 읽기 및 쓰기: 다양한 메서드 활용

파일을 열었다면, 다양한 메서드를 사용하여 데이터를 읽고 쓸 수 있습니다.

데이터 읽기 메서드

  • read(size): 파일 전체 내용을 읽거나, 지정된 크기만큼 읽습니다.
  • readline(): 파일에서 한 줄씩 읽습니다.
  • readlines(): 파일의 모든 줄을 리스트 형태로 읽습니다.

예시: 데이터 읽기

# 파일의 전체 내용을 읽어 문자열로 반환합니다.
content = file.read()

# 파일에서 한 줄을 읽어 문자열로 반환합니다.
line = file.readline()

# 파일의 모든 줄을 리스트 형태로 읽어 반환합니다.
lines = file.readlines()

데이터 쓰기 메서드

  • write(string): 파일에 문자열을 씁니다.
  • writelines(list): 파일에 문자열 리스트를 씁니다.

예시: 데이터 쓰기

# 파일에 문자열을 씁니다.
output_file.write("Hello, world!\n")

# 파일에 문자열 리스트를 씁니다.
lines_to_write = ["This is the first line.\n", "This is the second line.\n"]
output_file.writelines(lines_to_write)

3. 파일 닫기: 자원 관리의 중요성

파일 작업을 마쳤다면 반드시 close() 메서드를 호출하여 파일을 닫아야 합니다. 이는 시스템 자원을 해제하고, 다른 프로세스가 해당 파일에 접근할 수 있도록 합니다. 파일을 닫지 않으면 데이터가 손실될 수 있으며, 시스템에 오류가 발생할 수도 있습니다.

예시: 파일 닫기

file.close()
output_file.close()
binary_file.close()

4. with 문을 사용한 자동 파일 닫기

파이썬의 with 문을 사용하면 파일을 자동으로 열고 닫을 수 있어 편리합니다. with 블록 내에서 파일 작업을 수행하고, 블록을 벗어나면 자동으로 파일이 닫힙니다.

예시: with 문을 사용한 파일 처리

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

with open('output.txt', 'w') as output_file:
    output_file.write("This is a line written using with.\n")

결론: 안전하고 효율적인 파일 처리

파일 입출력은 파이썬 프로그래밍에서 매우 중요한 부분입니다. 파일 열기 모드, 데이터 읽고 쓰기 메서드, 파일 닫기의 중요성, with 문 활용법 등을 정확하게 이해하고 숙지해야 안전하고 효율적인 파일 처리가 가능합니다. 본 포스트가 파이썬 파일 입출력에 대한 이해를 높이는 데 도움이 되었기를 바랍니다.

728x90