Umgeleiteter Stdio in mehreren wxPython-Fenstern
In einem wxPython-Script läuft eine Routine, die Daten vom Internet herunterlädt, in einem eigenen Thread. Als Verlaufskontrolle gibt diese Routine Infos auf stdio mit print aus. Wenn die Ausgabe mit redirect=True umgeleitet wird, erscheint die erste Ausgabe in einem wxPython-Fenster stdio/stderror, die restlichen in einem zweiten Fenster. Wie kann das passieren?
Das Problem scheinen wirklich die beiden Threads zu sein. Als einzige Lösung sah ich schließlich das Umleiten der Ausgabe in ein eigenes Fenster mit sys.stdout = my_print_class(). Danach funktioniert alles tadellos und war nicht wirklich schwierig.