Python 파일 입출력: 읽기와 쓰기

목차

  1. 서론
  2. 파일 열기와 닫기
    1. 파일 열기
    2. 파일 닫기
  3. 파일 쓰기
    1. 텍스트 파일 쓰기
    2. 여러 줄 쓰기
  4. 파일 읽기
    1. 텍스트 파일 읽기
    2. 파일 전체 읽기
    3. 파일 한 줄씩 읽기
  5. 파일 입출력 모드
  6. with문을 사용한 파일 입출력
  7. 실습 예제
  8. 마무리
  9. 추천 태그

1. 서론

파일 입출력은 프로그래밍에서 매우 중요한 부분입니다. Python에서는 파일을 읽고 쓰는 작업을 간단하고 직관적으로 수행할 수 있습니다. 이번 포스팅에서는 초보 개발자도 쉽게 이해할 수 있도록 Python의 파일 입출력 방법을 자세히 설명하겠습니다.


2. 파일 열기와 닫기


2.1 파일 열기

Python에서 파일을 열기 위해서는 open() 함수를 사용합니다. open() 함수는 두 개의 인자를 받습니다: 파일 이름과 모드입니다.


# 파일 열기 예제
file = open("example.txt", "w")

2.2 파일 닫기

파일을 다 사용한 후에는 반드시 close() 메소드를 사용하여 파일을 닫아야 합니다. 파일을 닫지 않으면 데이터 손실이나 메모리 누수가 발생할 수 있습니다.


# 파일 닫기 예제
file.close()

3. 파일 쓰기


3.1 텍스트 파일 쓰기

파일을 쓰기 모드("w")로 열고, write() 메소드를 사용하여 텍스트를 파일에 쓸 수 있습니다.


# 텍스트 파일 쓰기 예제
file = open("example.txt", "w")
file.write("Hello, Python!")
file.close()

3.2 여러 줄 쓰기

여러 줄을 파일에 쓰기 위해서는 write() 메소드를 여러 번 호출하거나, writelines() 메소드를 사용할 수 있습니다.


# 여러 줄 쓰기 예제
file = open("example.txt", "w")
lines = ["Hello, Python!\n", "Welcome to file handling in Python.\n"]
file.writelines(lines)
file.close()

4. 파일 읽기


4.1 텍스트 파일 읽기

파일을 읽기 모드("r")로 열고, read() 메소드를 사용하여 파일의 내용을 읽을 수 있습니다.


# 텍스트 파일 읽기 예제
file = open("example.txt", "r")
content = file.read()
print(content)
file.close()

4.2 파일 전체 읽기

read() 메소드를 사용하여 파일의 전체 내용을 문자열로 읽어들일 수 있습니다.


# 파일 전체 읽기 예제
file = open("example.txt", "r")
content = file.read()
print(content)
file.close()

4.3 파일 한 줄씩 읽기

readline() 메소드를 사용하여 파일의 내용을 한 줄씩 읽을 수 있습니다.


# 파일 한 줄씩 읽기 예제
file = open("example.txt", "r")
line = file.readline()
while line:
    print(line, end='')  # 줄바꿈 없이 출력
    line = file.readline()
file.close()

5. 파일 입출력 모드

open() 함수는 다양한 모드를 지원합니다.


  • "r": 읽기 모드
  • "w": 쓰기 모드 (파일이 없으면 새로 생성, 파일이 있으면 내용 삭제)
  • "a": 추가 모드 (파일 끝에 내용을 추가)
  • "b": 바이너리 모드 (이진 파일 읽기/쓰기)
  • "r+": 읽기/쓰기 모드

예제:


# 추가 모드 예제
file = open("example.txt", "a")
file.write("Appending new line.\n")
file.close()

6. with문을 사용한 파일 입출력

with문을 사용하면 파일을 열고 닫는 작업을 자동으로 처리할 수 있어 코드가 간결해지고 안전합니다.


# with문을 사용한 파일 쓰기 예제
with open("example.txt", "w") as file:
    file.write("Hello, Python with with statement!")

# with문을 사용한 파일 읽기 예제
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

7. 실습 예제


파일 복사 프로그램

하나의 파일에서 다른 파일로 내용을 복사하는 프로그램을 작성해보겠습니다.


# 파일 복사 예제
source_file = "example.txt"
destination_file = "copy_example.txt"

with open(source_file, "r") as src:
    with open(destination_file, "w") as dest:
        content = src.read()
        dest.write(content)

print(f"{source_file}의 내용이 {destination_file}로 복사되었습니다.")

파일에서 특정 단어 찾기

파일에서 특정 단어가 몇 번 등장하는지 세는 프로그램을 작성해보겠습니다.


# 특정 단어 찾기 예제
word_to_find = "Python"
count = 0

with open("example.txt", "r") as file:
    for line in file:
        words = line.split()
        count += words.count(word_to_find)

print(f"'{word_to_find}' 단어가 {count}번 등장합니다.")

8. 마무리

이번 포스팅에서는 Python에서 파일을 읽고 쓰는 방법에 대해 알아보았습니다. 파일 입출력은 데이터 저장 및 처리에 필수적인 기능이므로, 다양한 예제를 통해 익숙해지시기 바랍니다. 다음 포스팅에서는 더 심화된 Python 주제를 다룰 예정입니다.

이 포스팅이 Python을 처음 접하는 분들에게 도움이 되길 바랍니다.

다음 이전