Ich führe Cmd-Befehle mit Python-Subprozess-Modul. Die Ausführung dieser Cmd-Befehle (z. B. Ausführen einer Batch-Datei, einer .exe-Datei) öffnet ein neues Eingabeaufforderungsfenster. Wie liest man die Ausgabe eines neu geöffneten Cmd-Fensters mit Python?Python: Leseausgabe beim Ausführen von Cmd-Befehlen
I folgenden Code verwenden Befehle vom Benutzer zur Verfügung gestellt, auszuführen:
process = subprocess.Popen(command, cwd = working_directory, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
I process.communicate() Methode bin mit dem Ausgang zu lesen. Es erlaubt mir jedoch, nur die Ausgabe des vorhandenen Eingabeaufforderungsfensters zu lesen. Wenn der Benutzer einen Befehl bereitstellt, der ein neues Eingabeaufforderungsfenster auslöst, wie kann dann die Ausgabe dieses Fensters gelesen werden?
https://docs.python.org/3/library/subprocess.html#subprocess. check_output – lemonhead
Was hast du bisher versucht? –
@ pankajmishra Ich benutze folgenden Code, um die Cmd-Befehle auszuführen, die von verwendet werden. Wenn der Benutzer den Befehl gibt, der das neue Befehlsfenster öffnet, suche ich nach einer Lösung, um die Ausgabe aus dem neu geöffneten Befehlsfenster zu lesen. Bis jetzt kann ich nur die Ausgabe aus dem vorhandenen cmd-Fenster lesen und nicht das neu geöffnete Fenster. Vielen Dank für Ihre Aufmerksamkeit im Voraus. :) 'process = subprocess.Popen (Befehl, cwd = Arbeitsverzeichnis, stdout = subprocess.PIPE, stderr = subprocess.STDOUT)' –