0

Python スクリプトで bash を使用してシェル コマンドを実行し、画面にリアルタイムの印刷メッセージを表示したいと考えています。これを行うには、次の行を使用します。

subprocess.Popen(my_commands, shell=True, stdout=sys.stdout, stderr=sys.stderr, executable='/bin/bash')

シェルコマンドが終了した後、入力カーソルがまだ見えないことを期待して、すべてがうまく見えます。シェルを再度アクティブにするには、Enter キーを押す必要があります。それで、エラーは何ですか?

4

1 に答える 1

0

shell=Trueそれは、シェルが 2 つあるためです。/bin/bash

設定shell=Falseすると、コンソールに出力が表示されなくなります。PIPEおよび/または出力を取得する必要subprocess.communicate()があります(必要に応じて)。

于 2013-02-08T09:47:27.900 に答える