리눅스에서 MP3 중복 파일 삭제 python 스크립트

d7795(55)
Published in
#python
Words
248
Reading
2 min
Listen
Play
9y

안녕하세요 

아이디는 d7795 로 쓰고 있지만 닉은 공맹이로 쓰고 있는 공맹이 입니다.

이번 글에서는 리눅스에서 중복 되어 있는 mp3 파일을 삭제 시키는 python 스크립트를 하나 만들어 볼려고 합니다. 

리눅스용이긴 하지만 윈도우 용으로도 포팅을 하여 다음 글에 올리도록 하곘습니다. 

전체 소스는 아래와 같습니다.

# -*- coding: utf-8 -*-

import eyed3

import os

mpdir = "mp3 경로"

# eyed3.log.setLevel("ERROR")

os.chdir(mpdir)

os.system('find . -iname "*.mp3" -execdir mid3iconv -e cp949 {} \;')

filenames = os.listdir(mpdir)

mp3list = []

mp3artist = []

removefilepath = []

for file in filenames:

audiofile = eyed3.load(mpdir+file)

title = audiofile.tag.title

artist = audiofile.tag.album_artist

check = 0

for mp3_i in range(0, len(mp3list)):

if mp3list[mp3_i] == title:

if mp3artist[mp3_i] == artist:

removefilepath.append(mpdir + file)

check = 1

if check == 0:

mp3list.append(title)

mp3artist.append(artist)

for path in removefilepath:

os.remove(path)

print path

설정 되어 있는 폴더를 하나하나씩 확인 하면서 각각의 태그에 있는 타이틀 , 아티스트를 리스트에 넣고 리스트에 있는 값과 폴더에 있는 값을 비교 하여 중복 될시 삭제 시키는 프로그램 입니다.

조잡 하긴 하지만 python을 이용해서 mp3 파일중 중복된 태그를 가지고 있는 파일들을 삭제 하는 프로그램을 만들어봤습니다.  아직 베타 버전이고 좀더 수정 해야 하는 부분이 여러군대 있습니다. 혹시나 제가 생각 하지 못하고 있는 버그가 존재 한다면 알려 주시길 바랍니다.

파이썬에 대해서 모르시는 분들을 위해서 종종 파이썬 강의도 올려 보도록 하겠습니다. 

글솜씨가 없어서 조금 난잡한 면이 없잖아 있는거 같습니다. 혹시나 궁금 하시거나 고쳤으면 하는 부분이 있으시면 리플로 남겨 주시면 참고 하겠습니다. 

다음글에서는 좀더 정돈 된 글에서 뵙도록 하겠습니다..

에공 힘들다.. 책 쓰시는 분들은 정말 대단 하신거 같습니다 ㅠㅠ

* 혹시 표를 만들수는 없는건가요..? 

리눅스에서 MP3 중복 파일 삭제 python 스크립트 | Ecency