시스템 개발 및 관리/Windows 환경 파일 자동화

Python으로 파일 정보(이름, 수정 시각, 크기) 확인하기

Data Jun 2025. 3. 21. 11:50

 파일을 자동으로 관리하거나 리스트업할 때, 파일의 이름, 수정 시간, 크기 등을 확인해야 할 일이 많습니다. 이번 글에서는 Python의 os와 datetime 모듈을 활용해 여러 파일의 정보를 추출하는 간단한 예제를 소개합니다.

 

사용된 도구

  • os.path.getmtime() : 파일의 **수정 시각 (타임스탬프)**을 가져옴
  • os.path.getsize() : 파일의 **크기(바이트 단위)**를 가져옴
  • datetime.datetime.fromtimestamp() : 타임스탬프를 사람이 읽을 수 있는 날짜/시간 형식으로 변환

 

코드 예시

import os
import datetime

filenames = [
    'main.py',
    'istockphoto-1366752864-612x612.jpg',
    'PT(최종평가)_스마트유지관리(테크로스)_싸인랩_250314d.pptx'
]

for filename in filenames:
    mtimestamp = os.path.getmtime(filename)  # 수정 시각 (타임스탬프)
    mtime = datetime.datetime.fromtimestamp(mtimestamp)  # 사람이 읽을 수 있는 형식으로 변환
    size = os.path.getsize(filename)  # 파일 크기 (바이트 단위)

    file_info = {
        'filename': filename,
        'mtime': str(mtime),
        'size': size
    }

    print(file_info)

출력 예시

{
  'filename': 'main.py',
  'mtime': '2024-03-21 16:45:10.125000',
  'size': 2148
}

위 예시처럼, 각 파일에 대해 다음과 같은 정보가 출력됩니다:

  • filename : 파일명
  • mtime : 마지막 수정 시간 (읽기 쉬운 문자열로 변환됨)
  • size : 파일 크기 (단위: 바이트)

 

확장 아이디어

이 코드는 아주 간단하지만, 다음과 같은 방식으로 더 확장해볼 수 있습니다:

  • 특정 확장자만 필터링 (.jpg, .py 등)
  • 크기가 일정 이상인 파일만 출력
  • size를 MB/KB 단위로 보기 좋게 포맷팅
  • 결과를 JSON이나 CSV 파일로 저장

 

마무리

 

이처럼 Python을 활용하면 파일 시스템 정보를 쉽게 자동화하거나 분석할 수 있습니다.
단 몇 줄의 코드만으로도 파일 정리, 백업, 리포트 작성 등 다양한 자동화 작업이 가능하다는 점, 참 매력적이지 않나요?