일단 목적은

음악파일을 중복 된걸 지우고 싶습니당


질문은...

에러 관련 질문이랑

코드 관련 질문 두가지가 있습니다


먼저 에러는...

중복되는 음악파일이 있다면 

os.remove() 이거를 이용해서 지우려고 하는데요



이렇게 뜹니다


PermissionError: [WinError 5] 액세스가 거부되었습니다

이걸 구글 검색해보니 이유는

주소를 잘못 입력 했다거나 관리자권한으로 실행 해주면 된다고 하던데....

일단 관리자 권한으로도 같은 오류 뜨고

주소가 잘못되었나 싶어서 txt 파일 만들어서 해봤는데 이건 또 삭제가 됨미다 ....


그래서 mp3 파일만 안되는건가 싶었는데

근데 또 새로운 파일 만들어서 mp3 음악파일 하나 집어넣고 시도해보니 이건 또 삭제가 되네요???



도저히 원인을 모르겠슴미당 ㅜ


...


그리고 코드 관련 질문은


기존 음악파일

새로 다운받은 음악파일

두가지를 이중포문 돌려서 이름이 같다면 다운받은 음악파일을 삭제하는 방법

을 시도 해봤는데

삭제가 안될 뿐 일단 같은 이름을 가진건 잘 잡아내더라구요


그거 까진 좋은데

싹쓰리 - 다시 여기 바닷가.mp3

싹쓰리 (유두래곤, 린다G, 비룡) - 다시_여기_바닷가.mp3

싹쓰리 (유두래곤, 린다G, 비룡) - 다시 여기 바닷가.mp3

싹쓰리 (유두래곤, 린다G, 비룡)-다시 여기 바닷가.mp3


이렇게 이름만 살짝 다르지 결국 같은 음악파일 인것들은 어떻게 구별 가능 할까요?

대충 생각하기엔

IF 안에 IN 이용해서 문장 중에서 특정 단어를 골라낼 수 있긴 하던데

그 특정 단어를 또 어떻게 추출하고 등 방법이 안떠오르네여 ㅜ


코드는

보여주기 민망한 수준이지만 대충 이렇게 짜긴 했슴당



import os


기존파일 = 'D:/음악'

다운로드 = 'C:/Users/USER/Desktop/실험'


파일_가져오기1 = os.listdir(기존파일)

파일_가져오기2 = os.listdir(다운로드)

다운로드수 = len(파일_가져오기2)


삭제갯수 = 0

for i in 파일_가져오기1:

    for j in 파일_가져오기2:

        if i in j:

            전체_주소 = os.path.join(다운로드, j) # 파일 전체 주소

            print(전체_주소)

            # os.remove(전체_주소)

            삭제갯수 += 1


print('총 ' + str(다운로드수) + '개 중 ' + str(삭제갯수) + '개 삭제')