Ich bin sehr neu in Python und Multithread-Programmierung im Allgemeinen. Grundsätzlich habe ich ein Skript, das Dateien an einen anderen Speicherort kopiert. Ich möchte, dass dies in einem anderen Thread platziert wird, damit ich ausgeben kann, ....
um anzuzeigen, dass das Skript noch ausgeführt wird.
Das Problem, das ich habe, ist, dass wenn die Dateien nicht kopiert werden können, es eine Ausnahme auslöst. Dies ist in Ordnung, wenn es im Hauptthread ausgeführt wird. Der folgende Code funktioniert jedoch nicht:
try:
threadClass = TheThread(param1, param2, etc.)
threadClass.start() ##### **Exception takes place here**
except:
print "Caught an exception"
In der Thread-Klasse selbst habe ich versucht, die Ausnahme erneut auszulösen, aber es funktioniert nicht. Ich habe Leute hier gesehen, die ähnliche Fragen gestellt haben, aber sie scheinen alle etwas Spezifischeres zu tun als das, was ich versuche (und ich verstehe die angebotenen Lösungen nicht ganz). Ich habe Leute gesehen, die die Verwendung von erwähnt haben sys.exc_info()
, aber ich weiß nicht, wo oder wie ich sie verwenden soll.
Jede Hilfe wird sehr geschätzt!
EDIT: Der Code für die Thread-Klasse ist unten:
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
? Codebeispiel vielleicht?