본문 바로가기
Python/파이썬 기초

파이썬 파일 읽기 쓰기

by PySun 2023. 7. 29.
반응형


파이썬에서 파일을 읽고 쓰는 방법은 매우 중요한 기능 중 하나입니다. 파일을 읽어서 데이터를 처리하거나, 결과를 파일에 저장하는 경우에 많이 활용됩니다. 파일 입출력에는 기본적으로 두 가지 모드가 있습니다: 읽기 모드('r')와 쓰기 모드('w')입니다. 각각의 모드에 따라 파일을 열고 데이터를 읽거나 쓸 수 있습니다. 이제 예시 코드와 함께 상세히 알아보겠습니다.

1. 파일 읽기 (Read)

  • read() 메서드는 파일 전체 내용을 한 번에 읽어옵니다. 파일의 크기가 크지 않은 경우에 사용하기 적합합니다.
# sample.txt 파일의 내용: "Hello, World!\nThis is a sample file for reading."

# 파일 읽기
file_path = 'sample.txt'

# 파일을 읽기 모드로 열기
with open(file_path, 'r') as file:
    # 파일 전체 내용 읽어옴
    content = file.read()

# 파일 내용 출력
print(content)

""" 출력 결과
Hello, World!
This is a sample file for reading.
"""
  • readline() 메서드는 파일에서 한 줄씩 순차적으로 읽어옵니다. 반복문과 함께 사용하여 파일의 모든 줄을 차례로 처리할 때 유용합니다.
# sample.txt 파일의 내용: "Hello, World!\nThis is a sample file for reading."

# 파일 읽기
file_path = 'sample.txt'

# 파일을 읽기 모드로 열기
with open(file_path, 'r') as file:
    while True:
        # 한 줄씩 읽어옴
        line = file.readline()

        # 더 이상 읽어올 줄이 없으면 반복 종료
        if not line:
            break

        # 읽어온 줄 출력 (줄바꿈 문자(\n) 제거하여 출력)
        print(line.strip())

""" 출력 결과
Hello, World!
This is a sample file for reading.
"""
  • readlines() 메서드는 파일의 모든 줄을 리스트로 반환합니다. 각 줄은 리스트의 요소로 저장되며, 파일의 크기가 큰 경우에도 메모리에 모두 로드되기 때문에 주의해야 합니다.
# sample.txt 파일의 내용: "Hello, World!\nThis is a sample file for reading."

# 파일 읽기
file_path = 'sample.txt'

# 파일을 읽기 모드로 열기
with open(file_path, 'r') as file:
    # 파일의 모든 줄을 리스트로 반환
    lines = file.readlines()

# 리스트의 각 줄 출력 (줄바꿈 문자(\n) 제거하여 출력)
for line in lines:
    print(line.strip())

""" 출력 결과
Hello, World!
This is a sample file for reading.
"""

2. 파일 쓰기 (Write)

  • 파일을 쓰기 모드('w')로 열어서 데이터를 파일에 쓰는 방법을 살펴보겠습니다.
# 파일 쓰기
file_path = 'sample_write.txt'
data = "This is a sample file for writing."

# 파일을 쓰기 모드로 열기
with open(file_path, 'w') as file:
    # 파일에 데이터 쓰기
    file.write(data)

print("Data has been written to the file.")

""" 출력 결과
Data has been written to the file.
"""

3. 파일 추가 쓰기 (Append)

  • 파일을 추가 쓰기 모드('a')로 열어서 데이터를 파일에 추가로 쓰는 방법을 살펴보겠습니다.
""" sample_append.txt 내용
Hello, World!
This is a sample file for reading.
"""

# 파일 추가 쓰기
file_path = 'sample_append.txt'
data = "This is additional data to be appended."

# 파일을 추가 쓰기 모드로 열기
with open(file_path, 'a') as file:
    # 파일에 데이터 추가 쓰기
    file.write(data)

""" append 후 sample_append.txt 내용
Hello, World!
This is a sample file for reading.
This is additional data to be appended.
"""

파일 입출력은 파이썬에서 자주 사용되는 기능 중 하나이며, 데이터를 읽고 쓸 때 주의해야 할 점은 파일을 올바른 모드로 열고 파일을 닫아주는 것입니다. 위 예시 코드를 참고하여 파일 입출력을 사용하면 다양한 데이터 처리 작업을 쉽게 할 수 있습니다. 파일 입출력은 데이터 분석, 로그 기록, 설정 파일 읽기 등 다양한 시나리오에서 유용하게 활용됩니다. 마지막으로, 파일을 다룰 때는 항상 파일을 닫아주는 것을 잊지 말아야 합니다. with open() 문을 사용하면 블록이 종료될 때 자동으로 파일이 닫히므로 편리하게 사용할 수 있습니다.

반응형