Files
python-examples/doc/08_01_file_io.md
2025-01-20 02:26:20 +09:00

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()