[Python-es] Renombrar subtítulos según archivos de video.

alexsavio en gmail.com alexsavio en gmail.com
Mar Mayo 10 14:48:25 EDT 2016


También puedes probar subliminal

https://github.com/Diaoul/subliminal

On Tue, 10 May 2016 19:39 Manuel, <malvarez99 en gmail.com> wrote:

> Muchas gracias, Ricardo.
>
> Con tus modificaciones y consejos, funciona perfectamente. Lo he ampliado
> un poco y ahora
> también me mueve los archivos renombrados a una carpeta.
> Referente al triple bucle for, sé que era una idea horrible.(jejejeje)
>
> Nuevamente, gracias por tu ayuda.
>
>
> El 9 may 2016, a las 21:44, Ricardo Cárdenes <ricardo.cardenes en gmail.com>
> escribió:
>
> No has comentado cómo para, pero sospecho que algún error saltará por
> algún lado. El bucle que tienes montado es un poco caótico:
>
> 2016-05-09 9:29 GMT-10:00 Manuel <malvarez99 en gmail.com>:
>
>> for video in lista_videos:
>>
>>     for subtitulo in lista_subtitulos:
>>
>>         for i in range(0,len(lista_videos)):
>>
>>
>>
>>             if subtitulo[i][0:4] == video[i][0:4]:
>>
>>                 subtitulo_final = video[0:-4] + '.srt'
>>
>>                 os.rename(subtitulo, subtitulo_final)
>>
>>
>>
>>
> Ahí estás iterando una vez por cada vídeo. Por cada una de esas
> iteraciones, estás recorriendo toda la lista de subtítulos y luego tienes
> un tercer bucle dentro (!!) que recorre los índices de la lista de
> vídeos... y los aplica como índice al *NOMBRE* de los subtítulos y los
> vídeos. Como digo, un tanto caótico. En su lugar podrías hacer:
>
> for video in lista_videos:
>     for i in range(len(lista_subtitulos):
>         subtitulo = lista_subtitulos[i]
>         if subtitulo[:4] == video[:4]:
>             subtitulo_final = video[0:-4] + '.srt'
>             os.rename(subtitulo, subtitulo_final)
>             del lista_subtitulos[i]
>             break
>
> Observa que pongo un 'break' si se renombra un subtítulo. Esto es porque
> asumo que no habrá dos subtítulos que valgan al mismo vídeo, así que
> paramos la búsqueda ahí, para ahorrar ciclos en el bucle (si los hubiera,
> el segundo subtitulo *machacaría al primero*, ya que dos ficheros no pueden
> tener el mismo nombre...)
>
> También: si hemos sustituido un subtitulo, lo elimino de la lista, para no
> tener que usarlo en comprobaciones futuras (que no iban a servir para nada).
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
-- 

Sent from my phone, sorry for brevity or typos.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20160510/338835eb/attachment.html>


Más información sobre la lista de distribución Python-es