[파이썬] 특정 폴더의 파일명 일괄 변환

2021-04-01

파이썬으로 특정 폴더 내 파일명을 일정한 규칙에 따라 일괄 변환하는 코드 만들기.

파이썬의 fnmatch 라이브러리를 이용해 이름과 패턴이 일치하면 문자열의 replace 메소드로 변환해준다. 그런 다음 join 메소드로 다시 결합.

마지막으로 os.rename으로 옛 파일명을 새 파일명으로 바꿔주면 끝.

import os
import fnmatch

data_path = '/Users/asadal/Documents/Dev/'
files_list = os.listdir(data_path)

target = "*. *.py" # .py로 끝나는 모든 파일
# result = []
for root, dirs, files in os.walk(data_path):
    for name in files:
        if fnmatch.fnmatch(name, target): # 이름과 패턴이 일치하면
            rename = name.replace('. ', '_')
            # print(rename)
            old_name = os.path.join(root, name) # 원래 파일도 os.path.join으로 지정해줘야 인식 잘 함
            new_name = os.path.join(root, rename)
            # print(new_name)
            os.rename(old_name, new_name)