Ziel ist es, das Python-Terminal mit der Vorausführung einiger Befehle zu öffnen. Im wirklichen Leben ist es einige Variablen einige Module und definiert Laden, aber hier ist eine vereinfachte Version:Senden von Befehlen an das geöffnete Python-Terminal
from subprocess import Popen, CREATE_NEW_CONSOLE
r=Popen("python",creationflags=CREATE_NEW_CONSOLE)
r.communicate(input=b"print(2+2)")
CREATE_NEW_CONSOLE verwendet wird, da sonst Terminal-Fenster nicht (ich den Code von IDE ausgeführt) erscheint. Der obige Code öffnet ein Python-Terminal-Fenster, aber Eingabe kommt nicht dorthin. Der Versuch, einige Variationen stoppt Fenster erscheinen, wie:
r=Popen(["python","print(2+2)"],creationflags=CREATE_NEW_CONSOLE)
Oder
r=Popen("python",creationflags=CREATE_NEW_CONSOLE, stdin=PIPE)
r.communicate(input=b"print(2+2)")
Was kann man also das Problem zu lösen getan werden?
Nun wäre die Verwendung, das zweite und dritte Beispiel öffnen und schließen sehr schnell. Versuchen Sie, etwas zu stdin zu pipen, aber auch angehängt haben stdin an das Terminal angeschlossen? –
Wenn ich Ihre Frage richtig verstehe, ist die Grundidee, mehrere Befehle an Terminal zu starten, ohne das Fenster zu schließen. All das versuchte das zu erreichen. – Nik
https://stackoverflow.com/questions/30494945/createprocess-with-new-console-window-but-override-some-std-io-handles –