텍스트 파일을 자동으로 정리하는 파이썬 코드 작성 4가지 요령

컴퓨터를 사용하다 보면 바탕화면이나 다운로드 폴더에 이름 모를 텍스트 파일이 가득 쌓여서 정리가 막막할 때가 정말 많습니다. 일일이 열어보고 폴더로 옮기는 작업은 시간도 많이 걸리고 금방 지치게 마련인데, 이럴 때 파이썬 코드를 활용하면 단 몇 줄로 깔끔하게 파일을 분류할 수 있습니다. 이 글에서는 초보자도 쉽게 따라 할 수 있는 자동 파일 정리 프로그램 제작의 핵심 요령 4가지를 알려드립니다.

표준 라이브러리 os와 shutil 모듈 활용

텍스트 파일을 정리하는 프로그램을 만들 때 가장 기본이 되는 도구는 파이썬에 내장된 os 모듈과 shutil 모듈입니다. 별도의 설치 과정 없이도 바로 사용할 수 있는 이 모듈들은 파일의 경로를 탐색하고 폴더를 생성하며 파일을 실제로 이동시키는 모든 과정을 담당합니다. os.listdir 함수를 사용하면 특정 폴더 안에 있는 모든 파일의 이름을 리스트 형태로 가져올 수 있어 반복 작업을 시작하기 좋습니다.



파일을 이동시킬 때는 shutil 모듈의 move 함수가 매우 유용합니다. 단순히 경로만 지정해주면 파일이 안전하게 목적지 폴더로 옮겨집니다. 만약 이동하려는 폴더가 아직 존재하지 않는다면 os.makedirs 함수를 이용해 자동으로 폴더를 생성하는 논리를 추가하는 것이 좋습니다. 이 과정은 수동으로 우클릭하여 폴더를 만들고 파일을 드래그하는 수고를 획기적으로 줄여주는 파이썬 코드의 기초입니다.



모듈 이름주요 함수기능 설명
osos.path.exists()폴더나 파일의 존재 여부 확인
osos.makedirs()새로운 폴더(디렉터리) 생성
shutilshutil.move()파일을 다른 경로로 이동 또는 이름 변경
shutilshutil.copy()파일을 특정 위치로 복사

객체 지향적 경로 관리를 돕는 pathlib 라이브러리

최근에는 os 모듈보다 더 세련된 방식인 pathlib 라이브러리를 사용하는 것이 권장됩니다. 이 라이브러리는 파일 경로를 단순한 문자열이 아닌 하나의 객체로 취급하기 때문에 코드가 훨씬 읽기 쉽고 간결해집니다. 예를 들어 파일의 확장자를 추출하거나 파일 이름만 따로 떼어내는 작업을 할 때 슬래시(/) 연산자를 활용하여 직관적으로 경로를 조합할 수 있습니다.



pathlib을 사용하면 윈도우나 맥 등 운영체제에 상관없이 동일한 파이썬 코드로 작동하는 프로그램을 만들기 수월합니다. 경로 구분자가 역슬래시인지 슬래시인지 고민할 필요가 없기 때문입니다. 파일 정리 기능을 구현할 때 파일의 생성 시간이나 수정 시간 정보를 가져와 날짜별로 폴더를 나누는 작업도 이 라이브러리를 통하면 훨씬 간편하게 해결됩니다.



  • 경로 객체화: Path(‘폴더경로’) 형식을 사용하여 경로를 다룹니다.
  • 확장자 추출: .suffix 속성을 이용해 텍스트 파일(.txt)인지 즉시 판별합니다.
  • 파일 존재 확인: .exists() 메서드로 중복 작업을 방지합니다.
  • 간결한 코드: 문자열 더하기 연산보다 안전하게 경로를 병합합니다.

정규 표현식을 이용한 정교한 파일 분류

단순히 파일 확장자로만 나누는 것이 아니라 파일 이름에 포함된 특정 단어나 날짜 형식을 인식하고 싶다면 re(Regular Expression) 모듈이 필요합니다. 텍스트 파일 이름이 영수증_123.txt 또는 보고서_업무.txt와 같은 일정한 규칙을 가지고 있을 때 정규 표현식을 사용하면 원하는 패턴만 골라내어 서로 다른 폴더로 보낼 수 있습니다.



예를 들어 파일 이름 중간에 숫자가 들어간 파일만 따로 모으거나, 특정 프로젝트 이름이 포함된 파일만 분류하고 싶을 때 효과적입니다. 이러한 정교한 분류 체계는 파이썬 코드의 효율성을 극대화하며 수천 개의 파일이 뒤섞여 있는 다운로드 폴더를 단 몇 초 만에 용도별로 정돈해줍니다. 복잡한 조건을 수동으로 분류하던 고단한 업무를 자동화하는 핵심 기술입니다.



분류 기준적용 예시기대 효과
확장자 기반.txt, .log 파일 구분유사 형식 파일끼리 모음
키워드 매칭‘회의록’, ‘영수증’ 단어 검색내용 성격에 따른 분류 가능
날짜/시간파일 생성 연도 및 월별 구분시간 흐름에 따른 데이터 아카이브
파일 크기1MB 이상 대용량 파일 분리저장 공간 관리 및 정리 용이

예외 처리 구문을 통한 코드 안정성 확보

자동 정리 프로그램을 실행하다 보면 파일이 이미 열려 있거나 권한이 없어서 오류가 발생하는 경우가 있습니다. 이때 프로그램이 중간에 멈추지 않고 끝까지 작업을 완료하게 하려면 try-except 구문을 반드시 포함해야 합니다. 파일 이동 중 발생하는 돌발 상황을 미리 예측하고 에러 메시지를 출력하거나 해당 파일만 건너뛰도록 설정하는 것이 좋습니다.



특히 동일한 이름의 파일이 목적지 폴더에 이미 존재하는 경우를 대비해야 합니다. 덮어쓰기를 할 것인지, 아니면 파일 이름 뒤에 숫자를 붙여 보존할 것인지에 대한 논리를 파이썬 코드에 담아두면 소중한 데이터가 유실되는 사고를 예방할 수 있습니다. 꼼꼼한 예외 처리는 단순한 스크립트를 신뢰할 수 있는 자동화 도구로 바꿔주는 아주 중요한 요령입니다.



  1. PermissionError 처리: 다른 프로그램이 사용 중인 파일 접근 시 오류를 방지합니다.
  2. FileNotFoundError 예방: 원본 파일이 갑자기 삭제된 경우를 대비합니다.
  3. 로그 기록 생성: 어떤 파일이 어디로 옮겨졌는지 별도의 텍스트 파일에 기록을 남깁니다.
  4. 프로세스 알림: 작업이 모두 완료된 후 총 몇 개의 파일이 정리되었는지 알려줍니다.

파일 자동 정리 관련 자주 묻는 질문(FAQ)

정리할 파일이 너무 많은데 속도가 느려지지는 않나요?

텍스트 파일은 보통 용량이 매우 작기 때문에 수천 개를 정리하더라도 파이썬 코드는 놀라울 정도로 빠르게 작동합니다. 하드디스크 내에서 파일을 이동시키는 작업은 실제 데이터를 옮기는 것이 아니라 경로 정보만 수정하는 방식이라 시스템 부하가 거의 없습니다. 다만 네트워크 드라이브나 외장 하드에서 작업할 때는 전송 속도에 따라 약간의 시간이 더 걸릴 수 있습니다.



코딩을 전혀 모르는 초보자도 바로 제작이 가능한가요?

네, 파이썬은 문법이 매우 쉽기 때문에 기본 모듈인 os와 shutil의 사용법만 익히면 10줄 이내의 코드로도 충분히 파일 정리기를 만들 수 있습니다. VS CodePyCharm 같은 편집기를 사용하면 오타를 잡아주어 더 쉽게 작성할 수 있습니다. 인터넷에 공개된 기초 예제 코드를 복사해서 본인의 폴더 경로만 수정해 보는 것부터 시작하면 금방 익숙해집니다.



파일을 옮기다가 원래 내용이 지워질까 봐 걱정돼요.

그런 걱정이 든다면 처음에는 shutil.move 대신 shutil.copy를 사용하여 파일을 복사하는 방식으로 테스트해 보시길 권장합니다. 복사된 파일들이 지정한 폴더에 정상적으로 들어갔는지 확인한 후에 원본을 지우는 논리를 추가하면 데이터 유실 위험을 완벽히 차단할 수 있습니다. 안정성이 검증된 후 move 함수로 교체하는 것이 파이썬 코드 작성의 정석입니다.



매일 정해진 시간에 자동으로 실행되게 할 수 있나요?

파이썬 코드 자체를 윈도우의 작업 스케줄러나 맥의 크론탭(Crontab)에 등록하면 됩니다. 이렇게 설정해 두면 내가 컴퓨터를 켜지 않아도, 혹은 신경 쓰지 않아도 매일 새벽이나 특정 시간에 다운로드 폴더를 깔끔하게 정리해 줍니다. 일일이 프로그램을 실행할 필요 없이 완전한 자동화를 구현하고 싶은 분들이 가장 많이 활용하는 유용한 기술입니다.



클라우드 서비스에 있는 파일도 정리가 가능한가요?

Google DriveDropbox처럼 PC와 동기화되는 클라우드 폴더는 로컬 경로와 동일하게 취급되므로 일반적인 파이썬 코드로 정리할 수 있습니다. 파일이 정리되면 클라우드 서버에도 즉시 반영되어 다른 기기에서도 정돈된 모습을 볼 수 있습니다. 다만 동기화 중인 파일을 건드리면 충돌이 날 수 있으므로 동기화가 완료된 상태에서 프로그램을 실행하는 것이 좋습니다.



특정 폴더 안에 있는 하위 폴더의 파일까지 다 정리하고 싶어요.

os.walk 함수나 pathlib의 rglob 메서드를 사용하면 폴더 안의 폴더까지 모두 탐색하는 재귀적 정리가 가능합니다. 깊숙이 숨어있는 텍스트 파일까지 모두 찾아내어 한곳으로 모으거나 규칙에 맞게 재배치할 수 있습니다. 이는 단순히 한 층의 폴더만 정리하는 수준을 넘어 컴퓨터 전체의 데이터를 체계적으로 관리하는 데 매우 효과적인 기능입니다.




텍스트 파일을 자동으로 정리하는 파이썬 코드 작성 4가지 요령



error: Content is protected !!

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.