파일 처리 및 입력/출력
파일 입출력을 배우기
파일 입출력은 파이썬 프로그램이 외부 파일에서 데이터를 읽고, 새로운 데이터를 파일로 저장하는 아주 중요한 기능입니다. 이 장에서는 텍스트 파일을 다루는 방법부터 시작하여, 파일을 열고 데이터를 읽고 쓰는 기본적인 과정을 설명하겠습니다.
파일 열기, 읽기, 쓰기 과정
파일을 다루는 3단계는 다음과 같습니다.
파일 열기:
open()
함수를 사용하여 파일을 엽니다. 파일을 열 때는 모드를 지정해야 합니다.읽기 모드(
r
): 파일을 읽기만 할 수 있습니다.쓰기 모드(
w
): 파일에 데이터를 작성할 수 있습니다. 파일이 없으면 새로 만듭니다.추가 모드(
a
): 파일의 끝에 데이터를 추가합니다.
예를 들면:
file = open('example.txt', 'w')
file.write('Hello, Python!\nWelcome to file handling.')
file.close()
파일 작업하기: 파일 객체를 이용하여 데이터를 읽거나 씁니다.
읽기 작업:
file.read()
나file.readline()
을 사용할 수 있습니다.쓰기 작업:
file.write()
를 통해 텍스트를 파일에 작성합니다.
예를 들면:
file = open('example.txt', 'r')
content = file.read()
print(content)
file.close()
파일 닫기: 작업이 끝나면
file.close()
를 호출하여 파일을 닫아야 합니다.
with 문과 파일 자동 닫기
파일을 다루는 과정에서 실수로 파일을 닫지 않는 경우를 방지하기 위해 with
문을 사용할 수 있습니다.
with open('example.txt', 'w') as file:
file.write('Using with statement.')
위와 같이 작성하면 with
문 종료 시 파일이 자동으로 닫힙니다.
CSV 파일 다루기
CSV 파일은 데이터 저장과 관리에 자주 사용됩니다. CSV 파일을 다룰 때는 csv
모듈을 많이 사용합니다.
import csv
with open('data.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['Name', 'Age'])
writer.writerow(['Alice', 30])
csv.writer
를 사용하면 CSV 양식으로 데이터를 파일에 작성할 수 있습니다.
결론
파일 입출력은 데이터를 외부에서 읽어와 프로그램에서 처리하거나, 처리가 끝난 데이터를 영구적으로 저장하는 중요한 방식입니다. 이번 장에서 배운 파일 다루기 기법을 응용하여 다양한 프로젝트에서 활용해보세요.