Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 os.stat() 결과 해석 방법 – 파일 상태 정보 완벽 가이드

os 모듈의 stat() 메서드는 파일과 디렉터리에 대한 다양한 운영체제 관련 정보를 조회할 때 사용됩니다. 예를 들어 특정 파일에 설정된 사용자 정의 플래그나 파일 크기(바이트 단위) 등을 확인할 수 있어, 파일 시스템을 다루는 파이썬 프로그램에서 매우 유용하게 활용됩니다.

os.stat()의 주요 속성

stat() 호출 시 반환되는 결과 객체에는 여러 속성이 포함되어 있으며, 자주 사용되는 주요 속성과 그 의미는 다음과 같습니다.

  • st_size – 파일의 크기를 바이트 단위로 나타냅니다.

  • st_atime – 파일에 가장 최근에 접근한 시간을 초 단위로 나타냅니다.

  • st_mtime – 파일 내용이 마지막으로 수정된 시간을 초 단위로 나타냅니다.

  • st_ctime – Unix 계열에서는 메타데이터가 마지막으로 변경된 시간을, Windows에서는 파일 생성 시간을 초 단위로 나타냅니다.

  • st_blocks – 파일에 할당된 512바이트 블록의 개수를 나타냅니다.

  • st_uid – 파일 소유자의 사용자 ID(UID)를 나타냅니다.

  • st_gid – 파일 소유자의 그룹 ID(GID)를 나타냅니다.

  • st_dev – 해당 파일이 저장된 장치의 식별자를 나타냅니다.

  • st_ino – 파일의 inode 번호를 나타내며, 같은 파일 시스템 안에서 파일을 고유하게 구분하는 역할을 합니다.

  • st_mode – 파일 유형과 접근 권한 정보를 비트 형태로 담고 있습니다.

  • st_nlink – 해당 파일을 가리키는 하드 링크의 개수를 나타냅니다.

  • st_flags – 파일에 대해 사용자가 정의한 플래그를 나타냅니다.

사용 예제

다음 예제는 os.stat()을 사용해 파일의 상태 정보를 가져오고 출력하는 기본적인 방법을 보여줍니다.

import os

# 조회할 파일 경로 지정
path = 'E:\\customers.csv'

# 파일 상태 정보 가져오기
status = os.stat(path)

# 결과 출력
print(status)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

os.stat_result(st_mode=33206, st_ino=1125899906970419, st_dev=1614938858, st_nlink=1, st_uid=0, st_gid=0, st_size=261693, st_atime=1593271710, st_mtime=1593271710, st_ctime=1593271710)

출력 결과를 해석해 보면, st_size=261693이므로 파일 크기는 약 261KB입니다. 또한 이 예제에서는 st_atime, st_mtime, st_ctime 값이 모두 동일하게 나타나는데, 이는 파일 생성 직후 접근·수정·메타데이터 변경이 거의 동시에 이루어졌음을 의미합니다. 이처럼 os.stat()의 반환 값을 활용하면 파일의 크기, 소유자, 시간 정보 등을 손쉽게 확인할 수 있습니다.