Soy muy nuevo en Python y en la programación multiproceso en general. Básicamente, tengo un script que copiará archivos a otra ubicación. Me gustaría que esto se coloque en otro hilo para que pueda mostrar ....
que el script todavía se está ejecutando.
El problema que tengo es que si los archivos no se pueden copiar, arrojará una excepción. Esto está bien si se ejecuta en el hilo principal; sin embargo, tener el siguiente código no funciona:
try:
threadClass = TheThread(param1, param2, etc.)
threadClass.start() ##### **Exception takes place here**
except:
print "Caught an exception"
En la clase de hilo en sí, intenté volver a lanzar la excepción, pero no funciona. He visto a personas aquí hacer preguntas similares, pero todos parecen estar haciendo algo más específico de lo que estoy tratando de hacer (y no entiendo muy bien las soluciones ofrecidas). He visto a personas mencionar el uso de sys.exc_info()
, sin embargo, no sé dónde ni cómo usarlo.
¡Toda ayuda es muy apreciada!
EDITAR: El código para la clase de subproceso está a continuación:
class TheThread(threading.Thread):
def __init__(self, sourceFolder, destFolder):
threading.Thread.__init__(self)
self.sourceFolder = sourceFolder
self.destFolder = destFolder
def run(self):
try:
shul.copytree(self.sourceFolder, self.destFolder)
except:
raise
TheThread
? ¿Ejemplo de código tal vez?