콘텐츠로 건너뛰기
Home » 파이썬 파일 입출력 방법과 실습 예제

파이썬 파일 입출력 방법과 실습 예제

  • 기준

파이썬에서의 파일 입출력 기초

파이썬 프로그래밍은 다양한 자료형을 지원하는데, 특히 파일 입출력은 프로그래밍에서 중요한 기능 중 하나입니다. 파일 입출력 작업을 통해 데이터를 저장하고 불러올 수 있어, 프로그램의 유연성을 높일 수 있습니다. 이번 포스팅에서는 파이썬에서 파일을 어떻게 다루는지에 대한 기본적인 방법과 실습 예제를 알아보겠습니다.

파일 열기

파일을 사용하기 위해서는 먼저 파일을 열어야 합니다. 이를 위해 파이썬에서는 open() 함수를 제공합니다. 이 함수는 두 개의 인자를 받는데, 첫 번째는 파일 경로이며 두 번째는 파일 모드입니다. 파일 모드는 다음과 같습니다.

  • r: 읽기 전용 모드
  • w: 쓰기 모드 (기존 파일이 있을 경우, 해당 내용을 삭제 후 새로 작성)
  • a: 추가 모드 (기존 내용 뒤에 새로운 내용을 추가)

예시로, 파일을 열기 위해 다음과 같은 코드를 사용할 수 있습니다:

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

파일 읽기

파일을 열었다면, 이제 읽기 작업을 진행할 수 있습니다. 파이썬에서는 다양한 방법으로 파일의 내용을 읽을 수 있습니다. 주요 메서드는 다음과 같습니다:

  • read(): 파일의 모든 내용을 한 번에 읽어옵니다.
  • readline(): 파일에서 한 줄씩 읽을 수 있습니다.
  • readlines(): 파일의 모든 줄을 리스트 형태로 읽어옵니다.

각 메서드의 사용 예는 다음과 같습니다:

with open(file_path, 'r') as file:
  content = file.read() # 전체 내용 읽기
  print(content)
with open(file_path, 'r') as file:
  for line in file:
    print(line.strip()) # 한 줄씩 읽기

파일 쓰기

파일에 내용을 저장하기 위해서는 쓰기 작업이 필요합니다. 쓰기 모드(w) 또는 추가 모드(a)로 파일을 열어야 합니다. write() 메서드를 사용하여 내용을 작성할 수 있습니다:

with open('output.txt', 'w') as file:
  file.write('Hello, World!\n') # 문자열 쓰기

리스트와 같은 여러 문자열을 파일에 한 번에 쓰고 싶다면 writelines() 메서드를 활용할 수 있습니다:

lines = ['첫 줄\n', '둘째 줄\n', '셋째 줄\n']
with open('output.txt', 'w') as file:
  file.writelines(lines) # 리스트의 내용을 파일에 쓸 때

파일 닫기

파일이 열려 있을 때는 반드시 작업이 끝난 후 close() 메서드를 호출하여 파일을 닫아주어야 합니다. 파일을 닫지 않으면 자원이 낭비될 수 있으므로 주의해야 합니다:

file.close()

with 구문을 이용한 파일 입출력

파일 작업을 보다 간편하고 안전하게 처리하기 위해 with 구문을 사용하는 것이 좋습니다. with 블록이 끝나면 파일이 자동으로 닫히기 때문에, 더 이상 close()를 명시적으로 호출할 필요가 없습니다:

with open('example.txt', 'w') as file:
  file.write('Hello with keyword!')

파일 입출력 예외 처리

파일 입출력 과정에서는 여러 가지 오류가 발생할 수 있습니다. 예를 들어, 파일이 없거나 읽기/쓰기 권한이 없을 때 발생하는 문제가 있습니다. 이 경우 try-except 구문을 이용하여 예외를 처리할 수 있습니다:

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

바이너리 파일 입출력

텍스트 파일 외에도 바이너리 파일을 다룰 수 있습니다. 바이너리 파일을 사용하려면 rb(읽기)와 wb(쓰기) 모드를 사용해야 합니다:

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

바이너리 파일 작성 시에도 비슷한 방식으로 진행합니다:

with open('copy_image.jpg', 'wb') as file:
  file.write(image_data) # 바이너리 데이터 쓰기

마무리

이번 포스팅을 통해 파이썬에서 파일을 열고, 읽고, 쓰는 방법에 대해 알아보았습니다. 파일 입출력은 프로그램에서 데이터를 저장하고 관리하는 기본적인 기능이므로, 이러한 기법을 숙지하여 다양한 프로젝트에 활용해 보시기 바랍니다. 각종 예외 처리 기법과 바이너리 파일 처리 방법도 함께 익혀 두면 보다 안정적인 프로그램 작성이 가능할 것입니다.

질문 FAQ

파이썬에서 파일을 어떻게 열 수 있나요?

파일을 사용하기 위해서는 open() 함수를 이용하여 열어야 합니다. 이때, 파일 경로와 모드를 지정해야 합니다. 파일 모드에 따라 읽기, 쓰기 또는 추가 작업이 가능합니다.

파일에 데이터를 어떻게 저장하나요?

데이터를 파일에 저장하려면 쓰기 모드 또는 추가 모드로 파일을 열고, write() 또는 writelines() 메서드를 사용하여 내용을 기록하면 됩니다. 이 과정을 통해 문자열이나 리스트 데이터를 파일에 저장할 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다