일단 미리 스포하자면,


파이썬 프로그래밍 언어를 이용한 방법입니다.


만든 파일은 FILErandnameMP3.py 하나인데, 아래와 같이 생겨먹었습니다.


저번에 JPG 확장자 소문자로 바꾸는 파이썬 파일을 조금 변형해서 만든 것입니다. (혹시 모르니까 해당 파일을 첨부해 놨습니다.)



FILErandnameMP3.py



#!/usr/bin/env python3

import os
import shutil
import sys

import string
import random

def id_generator(size=6, chars=string.ascii_uppercase + string.digits):
    return ''.join(random.choice(chars) for _ in range(size))

directory = sys.argv[1]
for file in [f for f in os.listdir(directory)]:
    newname = file
        if os.path.exists(directory+"/"+newname):
                newname = id_generator(12)+".mp3"
        shutil.move(directory+"/"+file, directory+"/"+newname)




이 파일을 실제로 사용하는 방법은 다음과 같습니다.



리눅스 터미널에서


python FILErandomname.py <폴더 경로>


( python <파이썬 파일 이름> <폴더 경로> )




이 파일을 적용하기 전과 후는 다음과 같습니다.




* 적용 이전





* 적용 이후



여기서 문제가 될 만한 파일은


위의 캡쳐에서 노란색으로 표기된 파일로, 원래는 전부 mp3 파일로 변환되어야 했을 파일이


확장자가 없는 바이너리 파일로 표기됩니다. -> 해결되었고 해결한 소스코드로 교체했습니다. 확장자가 들어가지 않아서 생기는 문제입니다.


일부 파일에서만 생기는 현상이고, 파일 네이밍이 길거나 하다는 제약사항에 따라서 생기는 현상이 아니며, 파이썬 명령어를 계속적으로 돌리면 동일한 파일에서 계속 저런 현상이 일어나는 등을 고려해 보면


특정 파일의 포맷에 문제가 있어서 생기는 현상으로 추정됩니다.


그래서 이런 현상이 일어났을 경우 확장자를 따로 붙여줘야 합니다. 좀 귀찮죠.



저건 어떻게 해결해야 할까요?




여튼 저런 문제가 있긴 하지만 대부분의 파일에서 잘 적용되며,


당장 필요한 기능이었기 때문에 어쨌든 파이썬 파일을 만들어서 적용시킨 다음 가져다 썼습니다.




간단한 소스코드이고, 공개해 놨으니 누구나 가져쓰셔도 됩니다.


다만 우리나라에선 리눅스 쓰는 사람이 별로 없어서 이런 짓을 할 사람이 없어 보인다는게 함정이랄까요 ^^;




+) 위의 소스코드에는 한가지 보완해야 할 점이 있는데, mp3 확장자를 고정으로 붙이는 부분을 없애고


각 파일의 확장자에 맞는 확장자를 자동으로 붙이게끔 다시 만들어야 합니다.


하지만 그 작업을 하기에는 제 파이썬 실력이 아직 없다는게 함정이랄까요...


파이썬을 좀 더 공부할 필요성이 있겠습니다. ㅠㅠ





저작자 표시 비영리 변경 금지
신고

댓글을 달아 주세요

티스토리 툴바