Ich wollte ein Python-Skript implementieren, die ein anderes Skript aufgerufen und erfasst sein stdout. Die gerufene Skript enthält einige Ein- und Ausgabenachrichten zBGetting stdout zur Anzeige aufgerufen Skript mit Eingabe
print ("Line 1 of Text")
variable = raw_input("Input 1 :")
print "Line 2 of Text Input: ", vairable
Der Abschnitt der Code, den ich laufen bin ist
import subprocess
cmd='testfile.py'
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
so, se = p.communicate()
print(so)
Das Problem, das auftritt, ist, dass die stdout erst nach der druckt Skript wurde ausgeführt. Dies lässt eine leere Eingabeaufforderung, die auf die Benutzereingabe wartet. Gibt es eine Möglichkeit, das stdout zu drucken, während das aufgerufene Skript noch läuft?
Danke,
Von hier: http: // Stackoverflow.com/Fragen/230.751/how-to-UP-Ausgabe-of-Python-Print import sys sys.stdout.flush() –
Welche OS zielen Sie ab? Es gibt einige Verrücktheiten bei Windows mit dieser Art von Anwendung – Fuzz
@Fuzz Das Skript muss auf Windows XP und 7 – Scavenger