🔥 파일 읽기와 쓰기
파이썬(Python)을 이용하여 파일을 다루는 것은 프로그래밍 기초를 마스터하는 데 있어 매우 중요한 부분입니다. 이번 장에서는 파일 작업의 기본, 특히 파일 읽기와 쓰기에 대해 자세히 살펴보겠습니다. 각 섹션마다 다양한 예제를 통해 이해를 돕고, 마지막에는 연습문제를 통해 학습한 내용을 실습해볼 수 있습니다.
파일 작업의 기본
파일 작업은 데이터를 영구적으로 저장하거나, 저장된 데이터를 읽어오는 과정을 말합니다. 파이썬에서는 open()
함수를 이용해 파일을 열고, read()
, write()
등의 메소드로 데이터를 읽거나 쓸 수 있습니다. 파일 작업을 할 때는 파일 경로, 모드(읽기, 쓰기 등), 인코딩 등을 명시해야 합니다.
파일 열기 및 읽기
파일을 읽기 위해서는 먼저 open()
함수로 파일을 열어야 합니다. 기본 형식은 open(파일경로, 모드)
입니다. 읽기 모드는 'r'
로 설정합니다.
# 파일 읽기 예제 with open('example.txt', 'r') as file: content = file.read() print(content)
python
이 코드는 'example.txt' 파일을 열어 그 내용을 읽고 출력합니다. with
구문을 사용하면 파일 작업 후 자동으로 파일을 닫아줍니다.
파일 쓰기
파일에 데이터를 쓰려면 쓰기 모드인 'w'
를 사용합니다. 이미 파일이 존재하면 기존 내용을 지우고 새로 작성합니다.
# 파일 쓰기 예제 with open('newfile.txt', 'w') as file: file.write("Hello, Python!")
python
이 예제에서는 'newfile.txt'라는 새 파일을 생성하고, "Hello, Python!"이라는 문자열을 파일에 씁니다.
파일에 내용 추가하기
기존 파일에 새로운 내용을 추가하고 싶을 때는 추가 모드인 'a'
를 사용합니다.
# 파일에 내용 추가하기 with open('example.txt', 'a') as file: file.write("\nNew line added.")
python
이 코드는 'example.txt' 파일의 기존 내용 끝에 새로운 줄을 추가합니다.
파일 줄 단위로 읽기
파일의 내용을 줄 단위로 읽으려면 readline()
또는 readlines()
메소드를 사용할 수 있습니다.
# 파일을 줄 단위로 읽기 with open('example.txt', 'r') as file: lines = file.readlines() for line in lines: print(line.strip())
python
readlines()
는 파일의 모든 줄을 리스트 형태로 반환합니다.
이진 파일 다루기
텍스트가 아닌 이진 파일(예: 이미지, 비디오)을 다룰 때는 이진 모드인 'b'
를 사용합니다.
# 이진 파일 읽기 with open('image.png', 'rb') as file: content = file.read()
python
이 예제에서는 이진 파일인 'image.png'를 읽습니다.
연습문제
- 'my_diary.txt'라는 파일을 생성하고, 여러분의 일기를 작성해보세요. 이후에 파일을 다시 열어 내용을 확인해보세요.
- 'data.csv'라는 CSV 파일을 읽고, 각 줄의 내용을 출력하는 파이썬 스크립트를 작성하세요.
- 주어진 텍스트 파일에서 공백이 아닌 각 줄의 수를 세는 프로그램을 작성하세요.
- 이미지 파일을 열어서 파일 크기를 확인하는 프로그램을 작성하세요.
- 사용자로부터 입력받은 문자열을 'input.txt' 파일에 쓰고, 파일을 다시 읽어 출력하는 프로그램을 작성하세요.