IT/Python

[Python] 파이썬 파일 입출력에 대해서 알아보자!

멋진 선배 2025. 1. 10. 12:31
반응형

파이썬 파일 입출력을 다루는 방법에 대해서 알아보도록 하겠습니다. 파일 입출력은 프로그래밍에서 매우 중요한 기능으로, 데이터를 영구적으로 저장하고 불러올 수 있게 해줍니다.

 

파일 열기와 닫기

파일을 다루기 위해서는 먼저 파일을 열어야 합니다. 파이썬에서는 'open()' 함수를 사용하여 파일을 열 수 있습니다.

file = open('example.txt', 'r')

여기서  'r'은 읽기 모드를 의미 합니다. 파일을 열었다면, 작업이 끝난 후에는 반드시 파일을 닫아 주서야 합니다.

file.close()

하지만 파일을 열고 닫는 과정을 더 안전하고 편리하게 해주는 'with' 문을 사용하는 것이 좋습니다.

with open('example.txt', 'r') as file:
    # 파일 작업 수행

'with' 문을 사용하면 블록이 끝날 때 자동으로 파일이 닫히므로, 실수로 파일을 닫지 않는 상황을 방지할 수 있습니다.

 

파일읽기

파일을 읽는 방법에는 여러 가지가 있습니다.

1.read() 메서드

'read()' 메서드는 파일의 전체 내용을 문자열로 반환합니다.

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

 

2.readline() 메서드

'readline()' 메서드는 파일에서 한 줄씩 읽어옵니다.

with open('example.txt', 'r') as file:
    line = file.readline()
    while line:
        print(line, end='')
        line = file.readline()

 

3.readlines() 메서드

'readlines()' 메서드는 파일의 모든 줄을 읽어 리스트로 반환합니다.

with open('example.txt', 'r') as file:
    lines = file.readlines()
    for line in lines:
        print(line, end='')

 

파일쓰기

파일에 데이터를 쓰는 방법도 여러가지가 있습니다.

 

1. write() 메서드

'write()' 메서드는 문자열을 파일에 씁니다.

with open('example.txt', 'w') as file:
    file.write('Hello, World!\n')
    file.write('Welcome to Python!')

 

2.writelines() 메서드

'writelines()' 메서드는 문자열 리스트를 파일에 씁니다.

lines = ['First line\n', 'Second line\n', 'Third line\n']
with open('example.txt', 'w') as file:
    file.writelines(lines)

 

파일 추가하기

기존 파일에 내용을 추가하려면 'a'(append) 모드를 사용 합니다.

with open('example.txt', 'a') as file:
    file.write('This line is appended.\n')

 

바이너리 파일 다루기

텍스트 파일 외에도 이미지나 음악 파일과 같은 바이너리 파일을 다룰 수 있습니다. 이때는 모드에 'b'를 추가 합니다.

# 바이너리 파일 읽기
with open('image.jpg', 'rb') as file:
    image_data = file.read()

# 바이너리 파일 쓰기
with open('new_image.jpg', 'wb') as file:
    file.write(image_data)

 

파일 위치 제어하기

'seek()' 메서드를 사용하면 파일 내에서 읽기/쓰기 위치를 이동할 수 있습니다.

with open('example.txt', 'r') as file:
    file.seek(5)  # 5번째 바이트로 이동
    print(file.read(10))  # 10바이트 읽기

 

디렉토리 생성

import os

os.mkdir('new_directory')

 

예외처리

파일 작업 시 발생할 수 있는 예외를 처리하는 것은 중요 합니다.

try:
    with open('nonexistent.txt', 'r') as file:
        content = file.read()
except FileNotFoundError:
    print("파일을 찾을 수 없습니다.")
except IOError:
    print("파일을 읽는 도중 오류가 발생했습니다.")

 

결론

파이썬의 파일 입출력 기능은 매우 강력하고 유연합니다. 텍스트 파일부터 바이너리 파일까지 다양한 종류의 파일을 쉽게 다룰 수 있으며, 예외 처리를 통해 안전하게 파일 작업을 수행 할 수 있습니다.

 

파일 입출력은 데이터 처리, 로깅, 설정 관리 등 다양한 분양에서 활용 됩니다. 이 기본적인 개념들을 잘 이해하고 활용한다면, 더 복잡한 파일 처리 작업도 쉽게 수행 할 수 있을 것 입니다.

반응형