Tenemos esta situación, una carpeta llena de archivos .png (icono), en ella hay por ejemplo 1000, de las cuales 300 son idénticas, pues bien hace una código que detecte las 300 idénticas y las elimine, usa código propio de gambas, pudiéndote apoyar de comandos externos pero que no tengan una función especifica para esa tarea. La discriminación no puede ser por tamaño o nombre ya que puede haber imágenes con nombre parecido y tamaño igual, la discriminación debe ser por el análisis interno de la imagen.
yo encontré una forma que la voy a publicar después del reto, tal vez suba un zip con contraseña y la doy después de vencido el plazo del reto.
la idea es ver como cada uno resuelve este problema, que es la base de la programación resolver problemas y enriquecer así nuestro conocimientos. Cada uno puede resolver el tema de una manera u otra pero que lindo es ver como otro resolvió el mismo problema de una manera totalmente diferente con otro enfoque tal vez.
si tienen alguna duda pregunten, saludos
una semana es suficiente para resolver este reto por tanto el próximo viernes sera el ultimo día para presentar la solución, enviar código con solución a
"en un CAD" es tu programa 3d o estas colaborando en otro proyecto, o estas en un nuevo proyecto???
Nuevo, pero...no te quiero robar el post. Pronto sera presentado en sociedad. OpenSource, por supuesto.
Es interesante este desafio pero mas interesante seria un programa comunitario que busque fotos repetidas en todo el disco y las enliste y/o renombre para que un humano decida que hacer.
"en un CAD" es tu programa 3d o estas colaborando en otro proyecto, o estas en un nuevo proyecto???
Nuevo, pero...no te quiero robar el post. Pronto sera presentado en sociedad. OpenSource, por supuesto.
Es interesante este desafio pero mas interesante seria un programa comunitario que busque fotos repetidas en todo el disco y las enliste y/o renombre para que un humano decida que hacer.
Podríamos tomarlo como punto de partida.
eso era lo que quería saber, bueno esperamos el momento en que lo subas para ayudar ya sea por bug o códigos de ideas, saludos.
última edición por v3ctor el Viernes, 24 Abril 2020, 21:33; editado 1 vez
bueno ya lo tengo casi pronto, falta emprolijarlo.
paso 1: elegir carpeta donde se encuentran las miles de imágenes (podrían ser otro tipo de archivos también)
paso 2: ? (no puedo comentar porque sino doy el método que uso.)
paso 3: eliminar archivos idénticos encontrados menos 1
como van ustedes?
última edición por v3ctor el Domingo, 26 Abril 2020, 14:03; editado 1 vez
bueno como nadie presento una solución yo subí la mía a la granja.
el método que use es hacer un sha256sum al archivo, si hay otro con el mismo hash incremento el contador de ese hash, después presento la lista de los que tienen repetidos y ahí el usuario elije si eliminar.
bueno como nadie presento una solución yo subí la mía a la granja.
el método que use es hacer un sha256sum al archivo, si hay otro con el mismo hash incremento el contador de ese hash, después presento la lista de los que tienen repetidos y ahí el usuario elije si eliminar.
saludos.
porque no lo subes asi lo podemos usar/mejorar entre todos?
Tengo el mío casi acabado, pero creo un hash MD5 después de leer el archivo binario (es más rápido que SHA256). Al recorrer el directorio lo voy cargando en una colección que tiene por valor la ruta del archivo y por clave (que no puede haber duplicados) el hash generado anteriormente. Curiosamente, la intentar añadir duplicados a la colección, ésta lo rechaza silenciosamente, quedando la colección sólo con los ficheros que no están duplicados.
Me he quedado intentando calcular cuáles son los que la colección ha "rechazado", que son los duplicados, para moverlos a un subdirectorio y dar la oportunidad al usuario de borrarlos.
Después de perder un montón de tiempo en un algoritmo para detectar duplicados, me di cuenta de que la colección no los admite (aunque no provoca error visible) y el trabajo se simplifica muchísimo...