파이썬으로 파일 읽고 쓰는 코드 예제

파이썬은 다양한 데이터 처리 작업에 유용한 프로그래밍 언어로, 파일을 읽고 쓰는 기능을 통해 많은 프로그래머들에게 사랑받고 있습니다. 이번 글에서는 파이썬을 이용하여 파일을 생성하고, 내용을 읽고, 저장하는 방법에 대해 자세히 설명드리겠습니다. 또한, 각 단계에서 필요한 코드 예제도 함께 제시하여 이해를 돕도록 하겠습니다.

파일 기본 작업 이해하기

파일을 다루기 위해서는 먼저 파일을 여는 작업이 선행되어야 합니다. 파이썬에서는 open() 함수를 사용하여 파일 작업을 시작합니다. 이 함수는 파일을 열고, 파일 객체를 반환합니다. 이때, 파일을 열기 위한 다양한 모드가 존재하는데, 주로 사용되는 모드는 다음과 같습니다:

  • r: 읽기 모드, 파일이 존재해야 합니다.
  • w: 쓰기 모드, 기존 내용을 덮어쓰며, 파일이 없으면 새로 생성됩니다.
  • a: 추가 모드, 기존 내용 뒤에 새로운 내용을 추가합니다.

파일을 열 수 있는 기본적인 방법은 다음과 같습니다:

file = open("your_file.txt", "r")

파일 닫기

파일 작업이 완료된 후에는 반드시 파일을 닫아야 합니다. 닫지 않으면 시스템 자원을 낭비하게 되어 오류가 발생할 수 있습니다. 파일을 닫는 방법은 close() 메서드를 활용합니다. 예를 들어, 파일을 열고 작업한 후 아래 코드를 이용해 파일을 닫습니다:

file.close()

파일 읽는 방법

파이썬에서 파일을 읽는 방법은 여러 가지가 있습니다. 각 방법은 파일의 내용을 어떻게 다룰 것인지에 따라서 다르게 사용될 수 있습니다.

1. 전체 파일 읽기

파일의 모든 내용을 읽어오고 싶다면 read() 메서드를 사용할 수 있습니다. 이 메서드는 파일의 내용을 한꺼번에 불러오며, 아래와 같이 사용합니다:

with open("your_file.txt", "r") as file:
  content = file.read()
print(content)

2. 한 줄씩 읽기

한 줄씩 파일을 읽고 싶다면 readline() 메서드를 사용할 수 있습니다. 이 메서드는 파일에서 줄 단위로 데이터를 읽어옵니다. 이를 통해 파일의 각 줄을 개별적으로 처리할 수 있습니다:

with open("your_file.txt", "r") as file:
  while True:
    line = file.readline()
    if not line: 
      break
    print(line.strip())

3. 모든 줄을 리스트로 읽기

파일의 줄을 모두 리스트 형태로 가져오고 싶다면 readlines() 메서드를 사용할 수 있습니다. 이 방법은 모든 줄을 한 번에 읽어 리스트로 반환합니다:

with open("your_file.txt", "r") as file:
  lines = file.readlines()
for line in lines:
  print(line.strip())

파일 쓰기 예제

파일에 데이터를 저장할 때는 write() 또는 writelines() 메서드를 사용합니다. write()는 문자열을 파일에 써주며, writelines()는 리스트의 모든 요소를 파일에 작성합니다.

1. 파일에 문자열 쓰기

단일 문자열을 파일에 쓰는 방법은 다음과 같습니다:

with open("output.txt", "w") as file:
  file.write("이것은 파일에 쓰는 예제입니다.")

2. 파일에 여러 줄 쓰기

여러 줄의 데이터를 파일에 기록할 때는 writelines()를 사용하여, 리스트를 인수로 전달합니다:

data = ["첫 번째 줄\n", "두 번째 줄\n", "세 번째 줄\n"]
with open("output.txt", "w") as file:
  file.writelines(data)

파일 작업 시 주의할 점

파일 처리에서 주의해야 할 사항이 몇 가지 있습니다.

  • 파일을 열 때 모드를 잘 선택해야 하며, w 모드로 열 경우 기존 데이터가 사라질 수 있습니다.
  • 파일을 작업한 후 반드시 닫아주어야 하며, with 구문을 사용하면 자동으로 파일이 닫힙니다.
  • 파일을 읽기 전에 해당 파일이 존재하는지 확인하는 것이 좋습니다.

에러 처리하기

파일 작업 중에는 다양한 오류가 발생할 수 있습니다. 이러한 오류를 처리하기 위해 try-except 구문을 사용할 수 있습니다:

try:
  with open('sample.txt', 'r') as file:
    content = file.read()
except FileNotFoundError:
  print("파일을 찾을 수 없습니다.")
except PermissionError:
  print("파일을 열 권한이 없습니다.")
except IOError as e:
  print(f"파일 읽기 오류: {e}")

결론

파이썬의 파일 입출력 기능은 데이터 저장 및 처리에 매우 유용합니다. 파일을 읽고 쓰는 여러 방법을 통해 데이터 처리의 효율성을 높일 수 있습니다. 위에서 설명한 다양한 방법을 활용하여 여러분의 코드에 적용해 보시기 바랍니다. 실습을 통해 더욱 깊이 있는 이해를 얻을 수 있을 것입니다.

자주 묻는 질문과 답변

파이썬에서 파일을 여는 방법은 무엇인가요?

파일 작업을 시작하려면 open() 함수를 사용합니다. 이 함수는 파일을 열고, 선택한 모드에 따라 파일 객체를 반환합니다.

파일을 읽는 방법에는 어떤 것들이 있나요?

파일 내용을 읽는 데는 여러 가지 방법이 있습니다. read()를 통해 전체를 읽거나, readline()으로 한 줄씩, readlines()로 모든 줄을 리스트 형태로 가져올 수 있습니다.

파일에 데이터를 저장하는 방법은 어떻게 되나요?

파일에 문자열을 저장하려면 write() 메서드를 사용하고, 리스트의 여러 줄을 쓸 때는 writelines()를 활용하면 됩니다.

파일 작업 이후, 반드시 파일을 닫아야 하나요?

네, 파일 작업이 끝난 후에는 반드시 파일을 닫아야 합니다. with 구문을 사용하면 자동으로 파일이 닫히므로 권장됩니다.

파일을 읽을 때 발생할 수 있는 오류는 무엇인가요?

파일을 읽는 동안 발생할 수 있는 오류로는 FileNotFoundErrorPermissionError 등이 있습니다. 이들을 방지하기 위해 try-except 구문을 사용할 수 있습니다.

댓글 달기

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

위로 스크롤