Я использую двойной цикл for для перебора файлов в моей папке Picture.Если первое изображение равно второму изображению, я затем удаляю второе изображение из папки и удаляю изображение из списка файлов, через которые я перебираю.Моя программа оставляет дубликаты изображений и не удаляет их, но когда я снова запускаю программу, она удаляет дубликаты изображений.Как правильно перебрать файлы, чтобы можно было удалить все дубликаты изображений?
Я пытался сократить ненужные циклы if, else, чтобы убедиться, что файл не проскальзывает черезпрограмма.
path = "Pictures"
directory = os.listdir(path)
for first_file in directory:
for second_file in directory:
if first_file == second_file:
continue
if first_file.endswith(".jpg") and second_file.endswith(".jpg"):
first_file_path = R"Pictures\{}".format(first_file)
second_file_path = R"Pictures\{}".format(second_file)
img1 = cv2.imread(first_file_path, 1)
img2 = cv2.imread(second_file_path, 1)
img1 = cv2.resize(img1, (100,100))
img2 = cv2.resize(img2, (100,100))
difference = cv2.subtract(img1, img2)
b, g, r = cv2.split(difference)
if cv2.countNonZero(b) == 0 and cv2.countNonZero(g) == 0 and cv2.countNonZero(r) == 0:
os.remove(second_file_path)
directory.remove(second_file)