Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: aaronduran2 en 2 Junio 2011, 17:56 pm



Título: [Python] Multihilo para descargar archivos
Publicado por: aaronduran2 en 2 Junio 2011, 17:56 pm
Hola. Estoy iniciándome en Python, y estaba probando el multihilo.
Quería implementárselo a un script que me permite descargar wallpapers de una web. Los enlaces están almacenados en una lista, de forma:

Código
  1. ENLACES=['URL1', 'URL2', 'URL3']

Esta es la parte del código que tengo hecha para el multihilo:

Código
  1. class MiThread(threading.Thread):
  2. def __init__(self, num):
  3. threading.Thread.__init__(self)
  4. self.num = num
  5.  
  6. def run(self):
  7. for enlace in ENLACES:
  8. print Download(enlace, "/home/adn/wallpapers/"+ExtraerNombre(enlace))
  9.  
  10. for i in range(0, 2):  
  11. t1 = MiThread(i)
  12. t1.start()

El problema claramente es que se descargará 2 veces el mismo archivo. Lo que yo pretendo es que se descarguen varios al mismo tiempo, pero no doy con la forma correcta.

¿Alguna idea? Gracias de antemano.