본문 바로가기

카테고리 없음

[파이썬] 여러 파일의 이름을 한번에 변경하기

파이썬에서는 os 모듈의 rename() 메서드를 사용해서 파일 또는 폴더의 이름을 간단히 변경할 수 있습니다. 

 

예를들어 특정 폴더 안에 여러개의 사진 파일이 있을때, 이 사진들의 이름을 차례대로 1, 2, 3와 같이 바꿔주고 싶습니다. 이때 해야하는 일은 크게 두 단계를 거칩니다.

 

1) 사진이 있는 폴더에 접근한다.

2) 차례대로 파일 이름을 변경하고 저장한다.

 

 

코드 예시

1) 사진이 있는 폴더에 접근한다.

import os

# 주어진 디렉토리에 있는 항목들의 이름을 담고 있는 리스트를 반환합니다.
# 리스트는 임의의 순서대로 나열됩니다.
file_path = 'C:\\Users\\jeong\\Desktop\\사진\\pictures'
file_names = os.listdir(file_path)
file_names

# >>> ['photo-1577055209976-ddae617a8023.jpg', 'photo-1577255714682-69db9b067fda.jpg', ..., 'photo-1579122549707-440e9edc4a6d.jpg']

 

 

2) 차례대로 파일 이름을 변경하고 저장한다.

- os.rename(src, dst) 메서드는 파일 또는 디렉토리(폴더) src의 이름을 dst로 변경합니다.

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

반복문을 이용해서 파일 이름을 차례대로 바꿔주었습니다. os.path.join()를 이용해서 경로의 구성 요소를 결합해 새 경로를 만들어주었습니다.

 

 

3) 결과물

 

 

-이 글의 코드는 아나콘다(Anaconda3)가 설치된 주피터 노트북에서 작성되었습니다.