안녕하세요! 오늘은 파이썬에서 파일 입출력을 다루는 방법에 대해 알아보도록 하겠습니다. 데이터 처리가 필수적인 현대의 프로그래밍 환경에서 파일 입출력은 매우 중요한 역할을 합니다. 파일을 통해 데이터를 읽고 쓰는 방법을 熟知하는 것은 파이썬 개발자의 필수 조건이라 할 수 있습니다.

파이썬 파일 입출력 기초
파일 입출력(File I/O)은 컴퓨터 프로그램이 데이터를 저장하거나 읽어오는 과정입니다. 파이썬에서는 내장된 open()
함수를 사용하여 파일을 열 수 있습니다. 이 함수는 파일의 이름과 열기 모드를 인자로 받아 파일 객체를 반환합니다. 파이썬에서 흔히 사용되는 파일 모드는 다음과 같습니다:
r
: 읽기 전용 모드입니다. 파일이 존재하지 않으면 오류를 발생시킵니다.w
: 쓰기 모드입니다. 파일이 존재하지 않으면 새로 생성하며, 기존 파일이 있을 경우 내용이 삭제됩니다.a
: 추가 모드입니다. 파일이 존재할 경우, 기존 내용 뒤에 새로운 내용을 추가합니다.
파일 열기
파일을 활용하기 위해서는 먼저 아래와 같은 형식으로 파일을 열어야 합니다.
file = open("파일명", "모드")
여기서 “모드”는 위에서 설명한 파일 열기 모드를 사용합니다.
파일 읽기
파일에서 데이터를 읽는 방법은 여러 가지가 있습니다. 가장 많이 사용하는 방식으로는 read()
, readline()
, readlines()
메서드가 있습니다.
read()
: 파일의 모든 내용을 한 번에 읽어옵니다. 예를 들면:readline()
: 파일의 한 줄씩 읽어오는 방식입니다. 이 방법은 반복문과 결합해 사용할 수 있습니다.readlines()
: 파일의 모든 줄을 리스트 형식으로 읽어옵니다. 각 줄이 리스트의 요소가 됩니다.
content = file.read()
파일 쓰기
파일에 데이터를 기록하기 위해서는 write()
또는 writelines()
메서드를 사용할 수 있습니다. write()
메서드는 문자열을 파일에 쓰며, writelines()
는 리스트 내의 여러 문자열을 파일에 한꺼번에 기록하는 데 사용됩니다.
write()
메서드 사용 예:writelines()
사용 예:
file.write("안녕하세요, 파이썬입니다!")
file.writelines(["첫 번째 줄\n", "두 번째 줄\n"])
파일 닫기
파일을 다 사용한 후에는 반드시 close()
메서드를 사용하여 파일을 닫아야 합니다. 파일을 닫지 않으면 리소스가 낭비될 수 있으므로, 일반적으로 파일 작업이 끝난 후에는 꼭 닫는 것이 좋습니다.
file.close()
with 문을 이용한 파일 입출력
파일을 다룰 때 with
문을 사용하면, 파일 작업이 끝난 후 자동으로 파일을 닫아 주기 때문에 매우 안전합니다. with
문을 사용할 경우, close()
를 명시적으로 호출할 필요가 없습니다.
with open("파일명", "모드") as file:
위와 같은 방식으로 파일을 열면, with
블록을 벗어날 때 자동으로 파일이 닫힙니다.
이진 파일 입출력
이진 파일(Binary File)은 텍스트가 아닌 데이터를 포함하는 파일입니다. 예를 들어 이미지나 비디오 파일 등이 해당됩니다. 파이썬에서는 open()
함수에 ‘b’ 모드를 추가하여 이진 파일을 다룰 수 있습니다.
with open("파일명", "rb") as file:
이진 파일에서 데이터를 읽고 쓸 때는 텍스트 파일과는 달리 바이트 단위로 작업해야 하며, 파일 작업 후에는 파일을 반드시 닫아야 합니다.
예외 처리
파일 작업 중에는 예외가 발생할 수 있습니다. 예를 들어, 파일이 존재하지 않거나 권한이 없을 때 오류가 발생할 수 있습니다. 이런 경우 try-except 문을 사용하여 오류를 처리할 수 있습니다.
try:
with open("존재하지않는파일.txt", "r") as file:
content = file.read()
except FileNotFoundError:
print("파일을 찾을 수 없습니다.")

결론
이번 포스팅에서는 파이썬의 파일 입출력에 대해 알아보았습니다. 파일을 읽고 쓰는 기본적인 방법부터 이진 파일 처리, 예외 처리까지 다양한 내용을 살펴보았습니다. 파일 입출력은 데이터 처리의 중요한 요소이며, 올바른 방법으로 활용하면 더 효과적인 프로그램을 작성할 수 있습니다.
파일 입출력 기술을 숙달하여 더 많은 데이터를 효율적으로 다루는 프로그래머가 되어 보세요!
자주 찾는 질문 Q&A
파이썬에서 파일을 여는 방법은 무엇인가요?
파일을 열기 위해서는 open()
함수를 사용합니다. 이 함수에 파일 이름과 열기 모드를 전달하면 파일 객체를 받아올 수 있습니다.
파일 읽기와 쓰기를 어떻게 하나요?
파일에서 내용을 읽으려면 read()
메서드나 readline()
을 사용할 수 있으며, 데이터를 쓰기 위해서는 write()
메서드를 사용하면 됩니다.