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

Python으로 스왑 파일(.swp) 삭제하는 방법

스왑(swap) 파일은 확장자가 .swp인 파일로, 주로 Vim 같은 편집기가 비정상적으로 종료되었을 때 자동으로 생성됩니다. 특정 폴더와 그 하위 디렉터리에 있는 모든 스왑 파일을 한 번에 삭제하는 가장 간단한 방법은 문자열 메서드 endswith()를 사용해 확장자가 .swp인 파일명을 걸러낸 뒤 삭제하는 것입니다.

예제 코드

import os, os.path
mypath = "my_folder"
for root, dirs, files in os.walk(mypath):
    for file in filter(lambda x: x.endswith('.swp'), files):
        os.remove(os.path.join(root, file))

이 프로그램은 my_folder 디렉터리를 재귀적으로 탐색하면서, 확장자가 .swp로 끝나는 모든 파일을 찾아 삭제합니다.

코드 동작 원리

  • os.walk(): 지정한 경로를 기준으로 모든 하위 디렉터리를 순회하며, 현재 경로(root), 하위 폴더 목록(dirs), 파일 목록(files)을 차례로 반환합니다.
  • filter() + endswith(): 파일 목록 중 이름이 '.swp'로 끝나는 파일만 선별합니다.
  • os.remove(): os.path.join()으로 만든 전체 경로를 이용해 해당 파일을 삭제합니다.

주의 사항

삭제 작업은 되돌릴 수 없으므로 실행 전에 대상 폴더를 반드시 확인하세요. 안전을 위해 실제 삭제 전에 아래처럼 print()로 삭제될 파일 목록을 먼저 출력해 점검하는 것도 좋은 습관입니다.

import os
mypath = "my_folder"
for root, dirs, files in os.walk(mypath):
    for file in filter(lambda x: x.endswith('.swp'), files):
        print(os.path.join(root, file))  # 삭제될 파일 미리 확인
        # os.remove(os.path.join(root, file))