これを行う方法について少し混乱しています。
私がする必要があるのは、Python スクリプト内から、いくつかの引数とファイル名を入力として受け取る外部コマンドを呼び出すことです。
私が「prog」と呼んでいる実行可能ファイル、入力ファイルを「file」と呼びましょう。したがって、コマンド ライン (Bash ターミナル内) は次のようになります。
$ prog --{arg1} {arg2} < {file}
上記の {arg1} は文字列で、{arg2} は整数です。
以下を使用する場合:
#!/usr/bin/python
import subprocess as sbp
sbp.call(["prog","--{arg1}","{arg2}","<","{file}"])
結果は、「prog」からのエラー出力であり、入力が欠落していると主張しています {arg2}
以下は、興味深いエラーを生成します。
#!/usr/bin/python
import subprocess as sbp
sbp.call(["prog","--{arg1} {arg2} < {file}"])
2 番目の文字列からすべてのスペースが削除され、最後に等号が追加されたようです。
command not found --{arg1}{arg2}<{file}=
この動作はどれも私には意味がないように思えます。また、オンラインで見つけた Python のマニュアル ページから理解できることはあまりありません。sbp.call を sbp.Popen に置き換えても問題は解決しないことに注意してください。