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