https://arca.live/b/programmers/9294182
어찌보면 이 게시글의 연장선 임...
다운로드 한 음악파일들과 기존 가지고 있는 음악파일들 중복된 것들 제거 하고
이름 비슷하게 다듬는 것이 목표
저 글에서 이런 질문을 했었거든
이 질문에 대한 답변
이렇게 관련 모듈 다운 받으면 손 쉽게 해결 가능
아 .... 다시한번 알려주셔서 감사합니다 (__)
그런데 결국 난 저 관련 모듈을 다운받지 않았다
그냥 좀 귀찮지만 내 손으로 하나하나 골라냄 ....
그 뒤로 잊고 있다가
어제 유튭 영상 중에서 문자열 막 바꾸고 하는 관련 된 영상을 봤거든
replace() 쓰면 쉽게 해결 되지만
이거 안쓰고 하는 방법 + 응용해서 저 함수가지고도 할 수 없는 조건부 문자열 바꾸기
신기하고 재미있더라고 그렇게 하루 끝났는데
다음날인 오늘 일 하다가 갑자기 생각 나더라
"음악 파일 모든 문자 하나하나 싹 다 비교해보고 카운터 세보면 가능하지 않을까?"
해서 한번 도전 해 봄
한글변수는 미안하다 ....
어찌저찌 작동은 잘 하더라
이런 식으로 작동 하게끔 한 것....
그리고 또 만들어진 거
비교할문자 와 비교 당할 전체문자 가지고
첫 번째 함수 써써 True 면 카운트 하나씩 세고
비교할문자 와 전체문자 둘 다 첫 번째 함수 이용해서 하나씩 지우기
놀랍게도 잘 작동 한다!!!
"가" "나" 라는 각 하나의 단어가
"다나라마가" 라는 단어 안에 전부 포함 되어있어서 100% 비슷
"가" "나" 가
"다나라마가" 라는 단어 안에 전부 포함 되어있어 있지만
두번 째 "가" 라던가 "하" 가 없어서 3개 중 2개만 비슷
오오.......
이제 음악 하나하나씩 비교해보면 가능하지 않을까????
이건 기존에 가지고 있던 음악 파일 중 7개만 임의로 가져온 것
실험을 위해 파일이름을 조금씩 바꿈
대충 이런식으로
이름이 바뀐 7개의 파일이 있는 "받은음악" 폴더
음악파일 500여개 들어있는 "음악" 폴더 가지고 서로 비교 해 봄
파일에 공통적으로 있는 " - " 이랑 .mp3 지우고 해봄
오 ..... 나름 만족 함
500여개의 모든 파일을, 그것도 한글자 한글자 하나하나 다 비교하는거라서 엄청 느릴 줄 알았는데 생각보다 빨랐고
아주 비슷한 것들만 골라내고 싶으면 퍼센트를 높게
좀 많이 달라도 어쨌든 걸러내고 싶으면 퍼센트를 낮게
해서 이용하면 될거 같음!!!!
근데 사실은 이래도 못쓰겠다 ....
퍼센트를 낮게 잡으면
같은 가수가 부른 다른 노래도 다 걸러질 거 같고
그렇다고 퍼센트 높게 잡으면 위 스샷 처럼 7개 중 두개는 안걸러 진거 처럼
결국은 내 손으로 일일히 다시 걸러야 한다....
뭐 어쨌든 ..... 요약하면
오늘 갑자기 퇴근 하자마자 밥 대충 먹고 계속 붙잡아 봤는데 생각보다 재미있었음
...
for i in 전체문자:
return new_전체문자, 확인용
def 비교(비교문자, 전체문자, int=70):
if count/글수*100 >= int: