Python으로 반복 작업 자동화 – 파일 이름 일괄 변경 스크립트 만들기

Posted by heoncode
2025. 4. 21. 11:00 코딩 자동화 & 스크립트
728x90
반응형
SMALL

Python으로 반복 작업 자동화 – 파일 이름 일괄 변경 스크립트 만들기

반복적인 파일 이름 변경 작업은 수동으로 하기 번거롭고 시간이 오래 걸립니다. 이럴 때 Python 스크립트를 이용하면 수백 개 파일도 몇 초 만에 자동으로 처리할 수 있습니다. 이번 글에서는 Python으로 파일 이름을 일괄 변경하는 기본 스크립트를 만드는 방법을 정리합니다.

1. 필요한 모듈 준비

파일 시스템을 다루기 위해 Python 내장 모듈인 os를 사용합니다. 별도의 외부 패키지 설치는 필요하지 않습니다.

2. 기본 스크립트 작성

다음은 지정한 폴더 내 모든 파일의 이름을 일괄 변경하는 간단한 예제입니다.

import os

folder_path = 'C:/example_folder'  # 변경할 파일들이 있는 폴더 경로
prefix = 'new_'  # 추가할 접두사

for filename in os.listdir(folder_path):
    old_path = os.path.join(folder_path, filename)
    if os.path.isfile(old_path):
        new_filename = prefix + filename
        new_path = os.path.join(folder_path, new_filename)
        os.rename(old_path, new_path)

위 코드를 실행하면 해당 폴더에 있는 모든 파일 이름 앞에 'new_'라는 접두사가 추가됩니다.

3. 파일 확장자 조건 추가하기

특정 확장자만 변경하고 싶을 때는 파일 이름을 검사하여 조건을 추가하면 됩니다.

for filename in os.listdir(folder_path):
    old_path = os.path.join(folder_path, filename)
    if os.path.isfile(old_path) and filename.endswith('.txt'):
        new_filename = prefix + filename
        new_path = os.path.join(folder_path, new_filename)
        os.rename(old_path, new_path)

이렇게 하면 .txt 파일만 선택적으로 이름을 변경할 수 있습니다.

4. 이름 변경 패턴 커스터마이징

접두사뿐 아니라 번호를 붙이거나 원하는 패턴대로 이름을 바꿀 수도 있습니다.

for idx, filename in enumerate(os.listdir(folder_path), start=1):
    old_path = os.path.join(folder_path, filename)
    if os.path.isfile(old_path):
        ext = os.path.splitext(filename)[1]
        new_filename = f"file_{idx}{ext}"
        new_path = os.path.join(folder_path, new_filename)
        os.rename(old_path, new_path)

이 예제는 파일명을 file_1, file_2, file_3처럼 번호를 매겨 저장합니다.

5. 주의할 점

  • 스크립트를 실행하기 전에 작업할 파일을 백업해두는 것이 좋습니다.
  • 중복 파일명이 생기지 않도록 주의해야 합니다.
  • 폴더 내 다른 폴더까지 재귀적으로 처리하려면 추가적인 코드 수정이 필요합니다.

마무리

파일 이름을 일괄 변경하는 작업은 Python 스크립트를 통해 간단하게 자동화할 수 있습니다. 필요에 따라 다양한 조건과 패턴을 추가해 활용하면 반복적인 수작업을 줄이고 업무 효율을 높일 수 있습니다.

#파이썬 #파일자동화 #스크립트 #파일이름변경 #코딩자동화

728x90
반응형
LIST