Seite 1 von 1

Try except pool.map(...)

Verfasst: Samstag 24. Februar 2018, 23:56
von Tetje
Hallo,

Ich bin gerade dabei meine erste GUI zu schreiben. Es soll die Eingabe von Ordnernamen ermöglichen für einen bereits bestehenden Code und die Ausführung des Codeteils starten. Der ältere Code soll Audio-/Videodatein in den Codec Opus umwandeln. Der gesamte Code ist unter https://github.com/Meresmata/Convert-x- ... pus_gui.py zu finden. Ich verwende Python 3.6.2 (von Anaconda)

Falsch eingegebene Pfade sollen dabei abgefangen werden, bevor die Umwandlung beginnt. Dabei habe ich Probleme beim Abfangen des falsch eingegebenen Ausgabeordners. Der Codeteil:

Code: Alles auswählen

      if self.dst_opt_check_val.get():
            try:
                self.o_dir_act(event)
            except AssertionError:
                top = tk.Toplevel()
                top.title("Ordner")

                err_msg = 'Der Zielordner"' + self.src_folder.get() + '" ist kein Ordner'
                msg = tk.Message(top, text=err_msg)
                msg.pack()
                msg_button = tk.Button(top, text="Ok", command=top.destroy)
                msg_button.pack()
Ich habe mit dem Debugger den Code Überprüft, das Problem ist, dass die das der Code zwar durchlaufen wird, aber die Meldung nicht angezeigt wird, und dann mit den umgebrnrn weiter läuft, das heißt erst wenn ich den das erste Mal Debugger ausschalte wird die Warnung angezeigt, beim Zweiten Mal abbrechen wird erst das Programm beendet.
Als IDE verwendet ich Pycharm Professional.

Weiß jemand wie ich das Problem lösen kann?

Die Umwandlung der Dateien mache ich mittels pool.map(...) aus dem multiprocessing Modul. https://docs.python.org/3.6/library/multiprocessing.html
Weiß jemand wie ich zur Laufzeit die Anzahl der umgewandelten Dateien anzeigen kann?

Mit freundlichen Grüßen Tetje