본문 바로가기
카테고리 없음

파이썬 파일 입출력 - 텍스트 파일 읽고 쓰기

by 혜택보관소 2024. 11. 15.

프로그래밍에서 파일 입출력은 외부 데이터를 저장하거나 불러올 때 유용하게 사용됩니다.

파이썬에서는 파일을 쉽게 열고, 데이터를 읽고 쓰는 다양한 기능을 제공합니다.

이 글에서는 파이썬에서 파일을 다루는 기본적인 방법을 예제와 함께 설명합니다.

파이썬 파일 입출력

1. 파일 열기와 닫기

파이썬에서 파일을 다루기 위해서는 먼저 파일을 열고 작업을 마친 후 닫아야 합니다. 파일을 열 때는 open() 함수를 사용하며, 이 함수는 두 개의 인수를 받습니다:

  • 파일 이름: 작업할 파일의 이름 (예: "example.txt")
  • 모드: 파일을 여는 모드 (읽기, 쓰기, 추가 등)

주요 파일 모드

  • "r": 읽기 모드 (파일이 존재해야 함)
  • "w": 쓰기 모드 (파일이 없으면 새로 생성, 기존 파일이 있다면 내용을 덮어씀)
  • "a": 추가 모드 (파일 끝에 데이터를 추가, 파일이 없으면 생성)
  • "r+": 읽기 및 쓰기 모드

예제 1: 파일 열고 닫기

아래 예제는 example.txt라는 파일을 열고 닫는 기본 코드입니다.

file = open("example.txt", "w")  # 파일 열기
file.write("Hello, World!")  # 파일에 데이터 쓰기
file.close()  # 파일 닫기

위 코드에서 파일을 w 모드로 열어 데이터를 쓰고, 작업 후 close() 메서드로 파일을 닫습니다.

2. 파일 쓰기

파일에 데이터를 쓰려면 write() 메서드를 사용합니다. 파일이 "w" 모드나 "a" 모드로 열려 있어야 합니다.

예제 2: 파일에 데이터 쓰기

아래 예제는 example.txt 파일에 여러 줄의 데이터를 작성하는 코드입니다.

file = open("example.txt", "w")
file.write("첫 번째 줄입니다.\n")
file.write("두 번째 줄입니다.\n")
file.write("세 번째 줄입니다.\n")
file.close()

각 줄의 끝에 \n을 추가하여 줄바꿈을 적용할 수 있습니다.

3. 파일 읽기

파일에서 데이터를 읽으려면 "r" 모드로 파일을 열고, read(), readline(), readlines() 메서드를 사용하여 데이터를 읽을 수 있습니다.

3.1 read() 메서드

read() 메서드는 파일의 전체 내용을 하나의 문자열로 읽습니다.

예제 3: 파일의 전체 내용 읽기

file = open("example.txt", "r")
content = file.read()
print(content)
file.close()

3.2 readline() 메서드

readline() 메서드는 파일의 한 줄씩 읽어 들입니다.

예제 4: 파일에서 한 줄씩 읽기

file = open("example.txt", "r")
line = file.readline()
while line:
    print(line, end="")
    line = file.readline()
file.close()

위 코드에서는 파일의 내용을 한 줄씩 읽어 while 루프를 통해 출력합니다.

3.3 readlines() 메서드

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

예제 5: 모든 줄을 리스트로 읽기

file = open("example.txt", "r")
lines = file.readlines()
for line in lines:
    print(line, end="")
file.close()

위 코드에서는 파일의 각 줄을 리스트 요소로 처리하여 출력합니다.

4. with 문을 사용한 파일 관리

with 문을 사용하면 파일을 열고 닫는 작업을 자동으로 처리할 수 있습니다. 파일 작업이 끝난 후 자동으로 close() 메서드를 호출해주므로 코드가 간결해지고, 자원 누수를 방지할 수 있습니다.

예제 6: with 문으로 파일 쓰기

with open("example.txt", "w") as file:
    file.write("Hello, World!\n")
    file.write("파일 작업이 완료되었습니다.")

with 블록을 벗어나면 파일이 자동으로 닫힙니다.

5. 파일 처리 예제

지금까지 배운 파일 읽기와 쓰기를 종합하여 파일의 내용을 읽고, 수정하여 다시 저장하는 예제를 만들어 보겠습니다.

예제 7: 파일 읽고 쓰기

# 기존 파일 읽기
with open("example.txt", "r") as file:
    content = file.read()

# 내용을 수정하여 파일에 다시 쓰기
with open("example.txt", "w") as file:
    file.write(content.replace("Hello", "Hi"))

위 예제에서는 example.txt의 내용을 읽고, "Hello"라는 단어를 "Hi"로 대체한 후 파일에 다시 저장합니다.

마무리

이번 글에서는 파이썬의 파일 입출력 방법을 통해 파일을 읽고 쓰는 기본적인 사용법을 알아보았습니다.

파일 입출력은 외부 데이터를 관리하고 저장할 때 유용하며, 파이썬에서 제공하는 open() 함수와 다양한 메서드를 통해 손쉽게 작업할 수 있습니다.

파일 입출력 예제를 통해 데이터를 효과적으로 관리해 보세요!