일단 목적은
음악파일을 중복 된걸 지우고 싶습니당
질문은...
에러 관련 질문이랑
코드 관련 질문 두가지가 있습니다
먼저 에러는...
중복되는 음악파일이 있다면
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(삭제갯수) + '개 삭제')