본문 바로가기

Language

[Python] 디렉토리 내 파일 목록 리스트

디렉토리 경로에 존재하는 파일 리스트를 저장하고 출력하는 간단한 예제입니다. 

프로그래밍을 하다보면  현재 디렉토리, 파일 목록을 관리할 일이 생깁니다. 

요즘에는 chaGPT , copilot 과 같은 서브스가 많아서 구글링 보다 AI에서 물어보는것이 빠르지만, 자주 쓰는 패턴을 기록해봤습니다.

 

주요 사용 함수

  • os.listdir( path ) : path
  • os.path.getsize( path, filename ) : 파일 크기 반환 
  • os.getcwd( ) : 현재 디렉토리 경로 반환
  • os.path.getctime( path, filename ) : 파일 생성일시 반환
  • os.path.getmtime( path, filename ) : 파일 수정일시 반환
  • os.path.getatime( path, filename ) : 파일 접근일시 반환

 

# 디렉토리 내 파일 목록 출력
# 파일명, 파일크기, 생성날짜, 수정날짜, 접근날짜 출력

import os
import time

# 파일 리스트 찾기
def getFileList(path):
    fileList = os.listdir(path)
    fileList.sort()
    return fileList

def getFileSize(path, fileName):
    return os.path.getsize(path + "/" + fileName)

# 현재 디렉토리 path 찾기
def getCurrentPath():
    return os.getcwd()

# 파일 생성 날짜
def getFileCreateTime(path, fileName):
    return time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(os.path.getctime(path + "/" + fileName)))

# 파일 수정 날짜
def getFileModifyTime(path, fileName):
    return time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(os.path.getmtime(path + "/" + fileName)))

# 파일 접근 날짜
def getFileAccessTime(path, fileName):
    return time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(os.path.getatime(path + "/" + fileName)))

path = getCurrentPath()
print('현재 디렉토리: ', path)
fileList = getFileList(path)
print(f'파일명'.ljust(23),'파일크기'.ljust(5),'생성날짜'.ljust(21),'수정날짜'.ljust(21),'접근날짜')
for fileName in fileList:
    print(fileName.ljust(20),'\t',                       # 파일명
          getFileSize(path, fileName),'\t',              # 파일 크기
          getFileCreateTime(path, fileName),'\t',        # 파일 생성 날짜
          getFileModifyTime(path, fileName),'\t',        # 파일 수정 날짜
          getFileAccessTime(path, fileName)              # 파일 접근 날짜
          )

출력결과는 아래와 같습니다.