Verständnisproblem: Ein-/Ausgabe von Programmen mit Popen ?
Verfasst: Freitag 15. März 2019, 20:10
Hallo Spezialisten,
ich möchte die Ausgaben eines (externen) Programmes in meinem Python-Programm verwenden und auch was an dieses Programm senden. Also so, als ob ich das Programm im Terminal selber bediene.
Mein Code:
Fragen:
Max
ich möchte die Ausgaben eines (externen) Programmes in meinem Python-Programm verwenden und auch was an dieses Programm senden. Also so, als ob ich das Programm im Terminal selber bediene.
Mein Code:
Code: Alles auswählen
from subprocess import Popen, PIPE, STDOUT
import time
p = Popen('/usr/bin/axcall -r -S -R ax0 db0fhn',shell=True,stdout=PIPE,stdin=PIPE)
print (p.stdout.read())
time.sleep(3)
p.stdin.write("q\r")
time.sleep(3)
print (p.stdout.read())
- Obwohl das Programm bereits etwas ausgibt (in meinem Fall: ASCII-Text), wird es mit dem ersten print-Befehl nicht angezeigt. Erst bei Auftreten eines Fehlers o.ä. wird der Text angezeigt.
- Wie kann ich prüfen, ob das Programm etwas ausgegeben hat, um ggf. andere Aufgaben durchzuführen, wenn das Programm nichts ausgibt?
Max