IT

파이썬을 사용하여 다운로드 받은 파일을 자동으로 분류

carnival6103 2025. 2. 10. 20:42
반응형

파이썬을 사용하여 다운로드 받은 파일을 자동으로 분류하는 스크립트를 작성할 수 있습니다. 예를 들어, 파일 확장자에 따라 파일을 다른 폴더로 이동하는 방법을 살펴보겠습니다.

필요한 모듈

  • os: 파일 및 디렉토리 작업을 위해 사용합니다.
  • shutil: 파일을 이동하기 위해 사용합니다.
  • glob: 파일 패턴 매칭을 위해 사용합니다.

예제 스크립트

import os
import shutil
import glob

# 다운로드 폴더 경로
download_folder = "/path/to/download/folder"

# 분류할 폴더 경로
folders = {
    "images": os.path.join(download_folder, "Images"),
    "documents": os.path.join(download_folder, "Documents"),
    "videos": os.path.join(download_folder, "Videos"),
    "others": os.path.join(download_folder, "Others")
}

# 폴더가 존재하지 않으면 생성
for folder in folders.values():
    if not os.path.exists(folder):
        os.makedirs(folder)

# 파일 확장자에 따른 분류
file_types = {
    "images": ["*.jpg", "*.jpeg", "*.png", "*.gif"],
    "documents": ["*.pdf", "*.docx", "*.txt"],
    "videos": ["*.mp4", "*.mov", "*.avi"]
}

# 파일 이동 함수
def move_files(file_type, destination_folder):
    for pattern in file_types[file_type]:
        for file in glob.glob(os.path.join(download_folder, pattern)):
            shutil.move(file, destination_folder)

# 파일 분류
for file_type, folder in folders.items():
    if file_type in file_types:
        move_files(file_type, folder)

# 기타 파일 이동
for file in glob.glob(os.path.join(download_folder, "*.*")):
    if not any(file.endswith(ext) for ext_list in file_types.values() for ext in ext_list):
        shutil.move(file, folders["others"])

print("파일 분류가 완료되었습니다.")

이 스크립트는 다운로드 폴더 내의 파일을 확장자에 따라 이미지, 문서, 비디오, 기타 파일로 분류하여 각각의 폴더로 이동합니다. 경로를 자신의 환경에 맞게 수정하고 실행하면 됩니다.

더 궁금한 점이나 추가적인 도움이 필요하시면 말씀해 주세요!

반응형