2.4 KiB
2.4 KiB
파일 입출력
파이썬에서 파일 입출력은 프로그램 실행 중 데이터를 파일 시스템에 저장하거나 파일에서 데이터를 읽어오는 것을 의미합니다. 이를 통해 프로그램의 데이터를 영구히 저장하고 필요할 때 다시 사용할 수 있습니다.
파일 열기
파이썬에서는 open() 함수를 사용하여 파일을 엽니다.
f = open("파일 이름", "모드")
- 파일 이름: 열고자 하는 파일의 경로를 지정합니다.
- 모드: 파일을 어떤 방식으로 열 것인지 지정합니다.
- r: 읽기 모드 (기본값)
- w: 쓰기 모드 (파일이 존재하면 내용을 덮어씀)
- a: 추가 모드 (파일 끝에 내용을 추가)
- x: 파일이 존재하지 않을 때만 생성
- b: 바이너리 모드 (이진 데이터 처리)
- t: 텍스트 모드 (기본값)
- r+: 읽기와 쓰기를 동시에 수행합니다.
- a+: 파일 끝에 내용을 추가하고 읽기 작업도 수행합니다.
- rb, wb, ab: 바이너리 모드로 파일을 열 때 사용합니다.
파일 읽기
f = open("data.txt", "r")
contents = f.read() # 파일 전체 내용 읽기
lines = f.readlines() # 파일을 줄 단위로 읽어 리스트에 저장
파일 쓰기
f = open("output.txt", "w")
f.write("Hello, world!\n")
파일 닫기
f.close()
with 문을 사용한 안전한 파일 처리
with 문을 사용하면 파일 객체를 생성하고, 블록이 끝날 때 자동으로 파일을 닫아줍니다. 따라서 파일을 닫는 것을 잊어버릴 염려가 없습니다.
with open("data.txt", "r") as f:
contents = f.read()
파일을 열 때는 항상 close() 메서드를 사용하여 파일을 닫아주는 것이 좋습니다. 파일을 쓰기 모드로 열면 기존 내용이 모두 삭제될 수 있습니다. 바이너리 파일을 다룰 때는 b 옵션을 사용해야 합니다.
# 파일 읽기
with open("input.txt", "r") as f:
for line in f:
print(line, end="")
# 파일 쓰기
with open("output.txt", "w") as f:
f.write("Hello, world!\n")
f.write("This is a new line.")
파일 메서드
- file.read()
- file.readline()
- file.readlines()
- file.next()
- file.seek()
- file.tell()
- file.truncate()
- file.write()
- file.writelines()
- file.flush()
- file.close()