Python에서 파일 통계(메타데이터) 확인하기
파일의 상태 정보(stat)를 얻으려면 os 모듈의 stat() 메서드를 사용하면 됩니다. 이 함수는 지정된 경로에 대해 운영체제의 stat 시스템 콜을 실행하여 파일의 다양한 메타데이터를 반환합니다.
import os
st = os.stat("file.dat")os.stat() 함수는 파일 이름을 인자로 받아 다음과 같은 10개의 멤버를 가진 튜플(tuple) 형태의 결과를 반환합니다.
(mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime)
각 항목의 의미
- mode: 파일 권한 및 파일 유형
- ino: inode 번호 (파일의 고유 식별자)
- dev: 파일이 저장된 장치(device)의 ID
- nlink: 해당 파일을 가리키는 하드 링크 수
- uid: 파일 소유자의 사용자 ID
- gid: 파일 소유 그룹의 그룹 ID
- size: 파일 크기(바이트 단위)
- atime: 마지막 접근(access) 시간
- mtime: 마지막 수정(modification) 시간
- ctime: 마지막 메타데이터 변경 시간 (Windows에서는 생성 시간)
반환값 활용 예시
참고로 최신 Python 버전에서는 os.stat()이 일반 튜플 대신 속성 접근이 가능한 os.stat_result 객체를 반환하므로, 아래 예시처럼 st_size, st_mtime 등의 속성 이름으로 더 직관적으로 값을 읽을 수 있습니다.
import os
st = os.stat("file.dat")
print(st.st_size) # 파일 크기(바이트)
print(st.st_mtime) # 마지막 수정 시간 (타임스탬프)stat 결과에 대한 보다 자세한 설명은 https://effbot.org/zone/python-fileinfo.htm 문서를 참고하시기 바랍니다.