파일명 뒤에 0으로 채워 자릿수 맞추고 일괄 변경하는 배치 파일이나 파이썬 코드 (하위폴더 포함)
파일명 뒤에 0으로 채워 자릿수 맞추고 일괄 변경하는 배치 파일이나 파이썬 코드가 필요한데 만들어 주실 분 계실까요? 하위폴더들 안의 파일들도 동시에 처리되면 좋겠습니다.
답변
import os
def rename_files(directory):
# 모든 폴더를 돌면서 가장 긴 파일이름의 길이를 저장시켜놔서 거기에 맞춰 0을 추가하려고 함.
max_length = 0
for root, dirs, files in os.walk(directory):
for filename in files:
base_name, ext = os.path.splitext(filename)
max_length = max(max_length, len(base_name))
# 다시 한번 모든 폴더를 돌면서 파일이름옆에 가장 긴 파일의 길이에 맞춰 0을 추가하여 저장함.
for root, dirs, files in os.walk(directory):
for filename in files:
base_name, ext = os.path.splitext(filename)
new_filename = base_name.ljust(max_length, '0') + ext
os.rename(os.path.join(root, filename), os.path.join(root, new_filename))
directory = input("파일들이 있는 디렉토리 경로를 입력하세요: ")
rename_files(directory)
print("작업이 완료되었습니다.")