[파이썬] 특정 폴더의 파일명 일괄 변환
파이썬으로 특정 폴더 내 파일명을 일정한 규칙에 따라 일괄 변환하는 코드 만들기.
파이썬의 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)