私はこれをまったく正しく理解していないかもしれませんが、PythonプログラムがLinuxシェル上にあるかのようにコマンドを実行するサブプロセスとインターフェイスできるようにしようとしています。
たとえば、プログラムの後半で「cd /」を実行してから「pwd」を実行し、「/」を取得できるようにします。
現在、subprocess.Popenとcommunicate()メソッドを使用してデータを送受信しようとしています。Popenコンストラクターで送信される最初のコマンドは正常に実行され、適切な出力を提供します。しかし、communicate(input = "pwd")を介して別のコマンドを送信することはできません。
これまでの私のコード:
from subprocess i
term=Popen("pwd", stdout=PIPE, stdin=PIPE)
print(flush(term.communicate()))
term.communicate(input="cd /")
print(flush(term.communicate(input="pwd")))
これを行うためのより良い方法はありますか?ありがとう。
また、Python3を実行しています。