안녕하세요.
오늘은 파이썬 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
: 출력 결과
반응형
'Programming > Python' 카테고리의 다른 글
[Python] GPT & 구글 검색으로 보고서 쓰기 (2) | 2023.02.25 |
---|---|
[Python] 구글 검색 API 활용하기 (4) | 2023.02.12 |
[Python] 일정 시간마다 자동 실행하기 (schedule) (6) | 2022.12.23 |
[Python] 이미지 합치기 (0) | 2022.12.18 |
[Python] 파이썬 이미지 필터 (ImageFilter) (1) | 2022.12.17 |
댓글