디렉토리의 파일을 통과하려고 시도하고 중복 파일을 찾아서 삭제합니다. 브 루트 포스를하는 것은 하루 이상 걸릴 것입니다 그래서 나는 디렉토리에 29 000 파일이 있습니다. 나는 다음과 같습니다 파일 이름이현재 파일의 파이썬 루프
:
"some_file_name" "일부 파일 이름"
그래서 하나 개의 이름은 밑줄을 가지고 있으며, 다른 하나는 대시를 가지고 있으며, 때로는 2 개 또는 세 개의 반점이 떨어져서.
그래서 내 안쪽 루프를 디렉터리의 바깥 쪽 루프 위치에서 시작하여 다음 10 개만 확인하도록 하시겠습니까?
가 여기 내 폭력 코드 : 나는 당신의 질문에서 이해하는 것과
import glob, os
os.chdir("C:/Dir/dir")
for file in glob.glob("*"):
temp = file
temp = temp.replace("-", " ")
temp = temp.replace("_", " ")
#How do I start this loop where file is currently at and continue for the next 10 files
for file2 in glob.glob("*"):
temp2 = file2
temp2 = temp2.replace("-", " ")
temp2 = temp2.replace("_", " ")
if temp == temp2:
os.remove(file2)
는 콘텐츠에 의해 또는 유사하여 중복을 찾을 하시겠습니까 이름 혼자? – Tomalak
데이터 구조 (집합 또는 목록)를 사용하여 두 번 반복 (temp1 및 temp2)하는 대신 이미 방문한 파일 이름을 추적 해 보았습니까? 이렇게하면 각 파일을 한 번만 반복하면됩니다. – pills