Python でサブプロセスを使用するのに苦労しています。これが私の仕事です:
- コマンド ライン経由で API を開始します (これは、コマンド ラインで任意の引数を実行する場合と同じです)。
- API が起動したことを確認します。これを行う最も簡単な方法は、標準をポーリングすることです。
- API に対してコマンドを実行します。新しいコマンドを実行できるようになると、コマンド プロンプトが表示されます
- 標準出力をポーリングしてコマンドが完了したことを確認します (API はロギングをサポートしていません)。
これまでに試みたこと:
1. Popen を使用してここで立ち往生しています。これを使えばうまくいくことを理解してい
subprocess.call("put command here")
ます。次のようなものを使用したかったのです。
import subprocess
def run_command(command):
p = subprocess.Popen(command, shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
私が使用する場所ですrun_command("insert command here")
が、これは何もしません。
2.に関しては、答えはここに似ているはずだと思います: Running shell command from Python and capture the output , but as I can't get 1. to work, まだ試していません.