Hallo,
ich habe eine Frage an die Experten in diesem Forum. Bin nicht unbedingt ein Neuling in python so hatte ich heute aber leicht verständnisprobleme...
Folgendes:
os.system("ssh root@172.25.107.155 'cd $PTI_BIN_DIR ; ./commstats'")
dieser Aufruf schreibt etwas auf die stdout. Ich möchte den output capturen und lesen...
Nun dachte ich folgendes:
old_stdout = sys.stdout
sys.stdout = open("ep_health.txt", "w")
os.system("ssh root@172.25.107.155 'cd $PTI_BIN_DIR ; ./commstats'")
sys.stdout = old_stdout
Das file bleibt leer.
Hm? Wer macht mich schlau?
pythondude
os.system und stdout capturn
-
- User
- Beiträge: 1
- Registriert: Donnerstag 24. Januar 2008, 22:47
- Wohnort: Düsseldorf
`sys.stdout` ist ein Python-Objekt, davon wissen externe Prozesse nichts.
Schau mal das `subprocess`-Modul an, damit sollte es gehen.
Schau mal das `subprocess`-Modul an, damit sollte es gehen.
Hallo pythondude,
ich weis nicht was du vor hast,
aber wenn du auf einen anderen Rechner was ausführen willst und das auch mit schreiben, dann kann ich dir dieses hier empfehlen
http://pexpect.sourceforge.net/
Oder im os Modul popen1, oder 2, oder 3 verwenden
je nachdem kannst du die verschiedenen Ausgabe Kanäle abfangen.
Beispiel:
ich weis nicht was du vor hast,
aber wenn du auf einen anderen Rechner was ausführen willst und das auch mit schreiben, dann kann ich dir dieses hier empfehlen
http://pexpect.sourceforge.net/
Oder im os Modul popen1, oder 2, oder 3 verwenden
je nachdem kannst du die verschiedenen Ausgabe Kanäle abfangen.
Beispiel:
Code: Alles auswählen
import os
stdin, stdout = os.popen2("ls -la")
print stdout.read()
Nur, wenn man die Passworteingabe automatisieren will. Das ist das einzige, was ssh direkt von tty liest. Der Rest läuft ganz normal über die Standardstreams. Aber wer nutzt schon SSH mit Passwörtern?Leonidas hat geschrieben:Wobei ich mir nicht sicher bin, ob man für die Fernsteuerung von SSH nicht zufällig noch ptys braucht.
@Blackjack Danke da hab ich mal wieder was gelernt