Angenommen, ich möchte eine graphische Python-Shell programmieren - ähnlich wie die in der IDLE. Allerdings so, dass prinzipiell auch andere Shells darin laufen können, wie meinetwegen die Bash oder eine Julia-Shell oder was auch immer. Im ersten Erkundungsversuch habe ich festgestellt, dass für die Bash folgendes funktioniert:
Code: Alles auswählen
import subprocess
p = subprocess.Popen("bash", shell=True, text=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
p.stdin.write("pwd\n")
p.stdin.flush()
print(p.stdout.readline())
Popen.communicate zu benutzen ist erstmal keine Option, weil das ja den Prozess gleich beenden will.
Betriebssystem ist GNU/Linux Mint.