これは少し苦痛であることが判明しました。Maximus からの nul のリダイレクトはうまくいきました、ありがとう!
それをPythonで動作させることに関しては、次のようになりました。私はから始めました:
BINARY = "C:/Program Files/foo/bar.exe"
subprocess.call([BINARY])
リダイレクトを追加しようとしましたが、 subprocess.call がすべてをうまくエスケープしすぎて、リダイレクトが失われます。
subprocess.call([BINARY + " < nul"])
subprocess.call([BINARY, " < nul"])
subprocess.call([BINARY, "<", "nul"])
shell=True の使用は機能しませんでした。これは、BINARY のスペースが原因で、実行可能ファイルを見つけようとして窒息したためです。
subprocess.call([BINARY + " < nul"], shell=True)
結局、私は os.system に戻り、リダイレクトを取得するために自分自身をエスケープする必要がありました。
os.system(quote(BINARY) + " < nul")
理想的ではありませんが、仕事は完了します。
最後のサブプロセスの例をバイナリ内のスペースで動作させる方法を誰かが知っているなら、それは大いに感謝されるでしょう!