본문 바로가기
Programming/Python

[Python] 파일명 일괄 변경하기

by 코딩하는 금융인 2022. 12. 25.

안녕하세요.

오늘은 파이썬 os 모듈을 활용하여 여러 개의 파일명을 한번에 변경하는 방법에 대해 알아보겠습니다.

 

 파이썬 파일명 일괄 변경하기

▣ 예시 상황 & 파이썬 코드

- 다음과 같이 폴더에 정리가 되지 않은 채 파일들이 있는 경우가 있어 하나의 양식으로 파일명을 통일해야 하는 경우가 있습니다.

- 아래 예시는 5개 밖에 안되지만, 실제로 파일이 100개 이상 넘을 때는 하나하나 손으로 바꾸기 힘드므로 이를 손쉽게 할 수 있는 파이썬 코드에 대해 알아보고자 합니다.

예시 상황

 

1) os.path.splitext

- os 모듈의 경로와 확장자를 보여주는 splitext 함수를 활용하여 이름을 바꿀 수 있음.

import os

file_path = "C:/Users/코딩하는 금융인/Desktop/예시"
file_name_list = os.listdir(file_path)
new_file_name_list = []
i = 1

# pat: 파일명 전까지 경로, ext: 확장자명
for n in file_name_list:
    pat, ext = os.path.splitext(n)
    new_file_name_list.append(os.path.join(file_path,"Renew"+f'{i}'+ext))
    i += 1

print(new_file_name_list)

 

: 출력 결과

['C:/Users/코딩하는 금융인/Desktop/예시\\Renew1.xlsx', 'C:/Users/코딩하는 금융인/Desktop/예시\\Renew2.xlsx', 'C:/Users/코딩하는 금융인/Desktop/예시\\Renew3.xlsx', 'C:/Users/코딩하는 금융인/Desktop/예시\\Renew4.xlsx', 'C:/Users/코딩하는 금융인/Desktop/예시\\Renew5.xlsx']

 

2) rename

- os 모듈의 rename 함수를 활용하여 이름을 rename_file_숫자 형식으로 변경함.

- rename 함수는 따로 파일 저장 함수 없이 코드 실행시 이름 변경해줌.

import os

# 주어진 디렉토리에 있는 항목들의 이름을 담고 있는 리스트를 반환합니다.
# 리스트는 임의의 순서대로 나열됩니다.
file_path = 'C:/Users/코딩하는 금융인/Desktop/예시'
file_names = os.listdir(file_path)

i = 1
for f in file_names:
    src = os.path.join(file_path, f)
    dst = 'rename_file_'+str(i) + '.xlsx'
    dst = os.path.join(file_path, dst)
    os.rename(src, dst)
    i += 1

 

: 출력 결과

결과 조회

반응형

댓글