Ausgabe in datei umlenken

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
zarathustra_23
User
Beiträge: 4
Registriert: Montag 17. September 2012, 08:16

Hallo zusammen

Ich habe ein Problem bezüglich der umlenkeung der ausgabe in eine einfache textdatei.

Aber nochmal von anfang. Ich arbeite gerade mit einem Selenium Server, den ich über ein Python script ansteuere. Diese werden über die CMD ausgeführt. Wenn ich nun zum Beispiel "python p.py > test.txt eingebe wird zwar die Datei erzeugt und das script wird richtig ausgeführt, aber es wird weder das OK oder die Fehlerausgabe in die datei umgelenkt. Im Pythonscript selbst kann ich nix verändern, da das System von unseren mitarbeitern benutz werden soll, die die Scripte mit einem Programm erzeugen und nicht verändern werden.

kann man mir weiterhelfen?
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

Dann ist die Frage wie und was das Script als Ausgabe erzeugt. Eine Ausgabe mit print schreibt auf die Standardausgabe. Das Umleiten funktioniert so wie du es sagst.
Um sicher zu gehen, dass du sowohl die Standardausgabe, als auch die Fehlerausgabe einsammelst:

Code: Alles auswählen

python programm.py 1>ausgabe.log >2&1
Zumindest unter Linux, ob das unter Windows genauso geht weiß ich nicht.
zarathustra_23
User
Beiträge: 4
Registriert: Montag 17. September 2012, 08:16

bi da leider noch ein neuling...es wird direkt auf der Console die Fehler oder das OK ausgegeben

danke erstmal ich werd das mal ausprobieren

edit: Cool danke das wars mit der 1(für ok) oder 2(für fehler) vor dem Umleitungsoperator ">"
zarathustra_23
User
Beiträge: 4
Registriert: Montag 17. September 2012, 08:16

hi nochmal ich hoffe das man mir diesemal genau so schnell weiter helfen kann wie beim letzten mal...danke nochmal dafür

folgendes Problem -> wenn ich die rückgabe des Python_scripts über die oben gezeigte form realisiere wird es immer über die zwei umgelenk. Egal ob ein ERROR oder ein OK zurück kommt. Es wird immer als Error ausgelegt

Habe gelesen dass die rückgabefunktionen sys.stdout und sys.stderr dafür verantwortlich sind. Nun arbeite ich mit externen Bibliotheken die ich fürs Selenium brauche. Weiß nicht ob da der Knackpunkt ist, dass es an dieser stelle nicht richtig übergeben wird.
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

Ich kenne mich mit Selenium nicht aus, und du beschreibst hier leider auch nicht was genau im Scrpt passiert.
Wenn das alles auf dem stderr ankommt, dann schreibt das Script wohl schlicht dorthin.

Mehr zu dem Tehma gibt es in der Wikipedia.
zarathustra_23
User
Beiträge: 4
Registriert: Montag 17. September 2012, 08:16

ähm danke trotzdem -> habe es jetzt mit einer abfrage der log.txt gelöst
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Eine andere Moeglichkeit waere es dein Python-Skript durch ein anderes Python-Skript und subprocess zu steuern und dort direkt stderr nach deinen Token zu durchsuchen.
Antworten