안녕하세요, 프로그래밍에 관심이 많은 여러분! 오늘은 파이썬을 사용하여 파일을 읽고 쓰는 방법에 대해 알아보겠습니다. 프로그래밍을 하다 보면 데이터를 파일로 저장하거나 파일에서 데이터를 읽어오는 작업은 아주 중요하죠. 이번 글에서는 파이썬을 이용한 파일 입출력의 기초를 다뤄보겠습니다. 실전 예제와 함께 유용한 팁도 준비했으니 끝까지 함께 하세요!

파일 열기와 닫기

파일 입출력의 첫걸음은 파일을 여는 것입니다. 파이썬에서는 open() 함수를 사용하여 파일을 열 수 있습니다. 이 함수는 파일 객체를 반환하며, 이 객체를 통해 파일을 조작할 수 있죠. 기본적인 사용법은 다음과 같습니다.

file = open('example.txt', 'r')
# 파일을 사용한 코드
file.close()
  • 'r': 읽기 모드
  • 'w': 쓰기 모드 (파일이 이미 존재하면 내용을 덮어씁니다)
  • 'a': 추가 모드 (파일 끝에 내용을 추가합니다)
  • 'b': 이진 모드 (바이너리 파일을 처리할 때 사용)

파일을 열었다면 반드시 닫아줘야 합니다. 그렇지 않으면 메모리 누수나 파일 손상 같은 문제가 발생할 수 있습니다. 이 문제를 해결하기 위해 with 문을 사용하면 파일을 자동으로 닫을 수 있습니다.

with open('example.txt', 'r') as file:
    # 파일을 사용한 코드
    pass
# with 블록을 벗어나면 파일이 자동으로 닫힙니다.

파일 읽기

파이썬에서 파일을 읽는 방법은 여러 가지가 있습니다. 가장 간단한 방법은 read() 메서드를 사용하는 것입니다. 이 메서드는 파일의 모든 내용을 문자열로 반환합니다.

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

파일이 크다면 한 줄씩 읽는 것이 효율적일 수 있습니다. 이때 readline() 메서드를 사용할 수 있습니다.

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

모든 줄을 리스트로 읽고 싶다면 readlines() 메서드를 사용할 수 있습니다.

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

파일 쓰기

파일에 데이터를 기록하는 방법도 간단합니다. 파일을 쓰기 모드('w') 또는 추가 모드('a')로 열고, write() 또는 writelines() 메서드를 사용하면 됩니다.

with open('example.txt', 'w') as file:
    file.write('Hello, World!\n')
    file.writelines(['Line 1\n', 'Line 2\n'])

추가 모드를 사용하면 기존 내용에 새 내용을 덧붙일 수 있습니다.

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

결론

이렇게 해서 파이썬을 활용한 파일 입출력의 기초적인 내용을 살펴봤습니다. 파일의 열기, 읽기, 쓰기, 그리고 닫기까지 모두 이해하셨나요? 파일 입출력은 데이터 처리를 위해 꼭 알아둬야 할 기본기입니다. 다양한 파일 형식을 다뤄보며 연습해 보세요. 그럼 다음에도 더 유익한 정보로 찾아오겠습니다. 즐거운 코딩 되세요!