새소식

반응형
Python/자동화

python 폴더안 특정 폴더만 빼고 삭제하는 코드

  • -
반응형

특정 폴더를 제외한 모든 폴더를 삭제하는 Python 코드 입니다.

아래 코드는 특정 폴더를 지정하고 그 폴더를 제외한 모든 폴더를 삭제하는 예제입니다.

 

import os
import shutil

def delete_all_folders_except(folder_to_keep, base_folder):
    for root, dirs, files in os.walk(base_folder, topdown=False):
        for name in dirs:
            folder_path = os.path.join(root, name)
            if folder_path != folder_to_keep:  # 특정 폴더를 제외하고 삭제
                shutil.rmtree(folder_path)
                print(f"Deleted folder: {folder_path}")

# 폴더를 지정
folder_to_keep = '/path/to/keep'
base_folder = '/path/to/search'

# 특정 폴더를 제외하고 모든 폴더 삭제
delete_all_folders_except(folder_to_keep, base_folder)
반응형

위 코드에서 /path/to/keep은 유지하고자 하는 폴더의 경로를, /path/to/search는 검색을 시작할 기본 폴더의 경로를 나타냅니다.

 

이 코드는 os.walk() 함수를 사용하여 모든 하위 폴더를 반복하고, 특정 폴더를 제외하고 모든 폴더를 삭제합니다.

 

shutil.rmtree() 함수를 사용하여 폴더를 삭제합니다.

 

이 코드를 실행하면 folder_to_keep 변수에 지정된 폴더를 제외한 모든 하위 폴더가 삭제됩니다.

 

주의: 이 코드를 사용할 때 주어진 경로에 대한 권한이 있어야 합니다. 또한, 주어진 경로가 존재하는지 확인해야 합니다.

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.