https://docs.python.org/3/tutorial/inputoutput.html#methods-of-file-objects
파일 객체 주요 메서드
- 읽기
- f.read(size=None):
- size 없으면 전체, 지정하면 최대 size(텍스트=문자, 바이너리=바이트). EOF면 ”/b”.
- f.readline():
- 한 줄 반환, 줄 끝 \n 유지(파일 마지막 줄 제외). EOF면 ”.
- 파일 객체 반복(for line in f:)으로 메모리 효율 있게 줄 단위 읽기.
- list(f)/f.readlines()는 모든 줄을 리스트로.
- f.read(size=None):
- 쓰기
- f.write(string_or_bytes):
- 기록하고 기록한 문자/바이트 수 반환.
- 텍스트 모드는 문자열, 바이너리는 bytes 필요(다른 타입은 변환 후).
- f.write(string_or_bytes):
- 위치
- f.tell(): 현재 파일 위치(바이너리는 바이트 기준; 텍스트는 구현 종속 “불투명 값”).
- f.seek(offset, whence=0):
- 0=파일 시작, 1=현재 위치, 2=파일 끝 기준으로 이동.
- 텍스트 모드는 시작 (0) 기준만 안전 (끝으로 seek(0, 2) 제외)
- 그 외는 정의되지 않은 동작.
- 예시 흐름(바이너리):
f = open(“workfile”, “rb+”)
f.write(b”0123456789abcdef”)
f.seek(5)
f.read(1) # b’5’
f.seek(-3, 2)
f.read(1) # b’d’ - 기타: isatty(), truncate() 등 추가 메서드는 라이브러리 레퍼런스 참고.