Seite 1 von 1

Errormeldungen von Pythonw umleiten

Verfasst: Montag 26. November 2007, 10:57
von WGutsche
Hallo,

ich will Python als Skriptinterpreter für ein Windowsprogramm nutzen.
Funktioniert auch soweit.
Ich starte Python aus meinem Programm herraus mit der Befehlszeile:
"C:\Programme\Python25\pythonw.exe meinSkript.pyw".
Ich kommuniziere dann mit dem Skript über TCP/IP.
Das Skript wird vollständig im Hintergrund ausgeführt.
Mein Problem ist nun, dass mir ein Abbruch des Skripts durch einen Fehler verborgen bleibt.
Kann man die Ausschriften, die normalerweise in der Python-Shell landen irgendwie umleiten?

MfG
Wolfgang

Re: Errormeldungen von Pythonw umleiten

Verfasst: Montag 26. November 2007, 11:19
von gerold
WGutsche hat geschrieben:Kann man die Ausschriften, die normalerweise in der Python-Shell landen irgendwie umleiten?
Hallo Wolfgang!

Nicht bei der Verwendung von "pythonw.exe". Dieses schluckt STDOUT und STDERR einfach.

Du müsstest von deinem Programm aus "python.exe" aufrufen und STDOUT und STDERR in deinem Programm direkt verarbeiten. Unter Python ginge das mit ``subprocess.Popen``. Was du in deinem Windowsprogramm dafür verwenden musst, hängt von der verwendeten Programmiersprache ab.

Zur Not kannst du die Ausgabe des Python-Programms in eine Textdatei umleiten und diese danach auslesen. So mache ich es z.B. in meinen Visual Basic 6 Programmen, da geht es nicht anders.

mfg
Gerold
:-)

Errormeldungen von Python umleiten

Verfasst: Montag 26. November 2007, 13:10
von WGutsche
Hallo Gerold,

vielen Dank für Deinen Tipp.
Ich werde jetzt auch erst mal mit einer Textdatei arbeiten.
Sieht allerdings ein bischen kompliziert aus, da ich einen neuen Kommandointerpreter aufrufen muss:
cmd /c ""python.exe" "MyPath\MyScript.py" > error.txt 2>&1"

Es funktioniert es auch, wenn in MyPath Leerzeichen enthalten sind.
Es funktioniert aber nicht richtig, wenn in MyScript Leerzeichen enthalten sind. Dann kommt nur noch Stderr in der Datei an.

Na ja, kan ich mit leben.

MfG
Wolfgang