サブプロセスを実行するメインプロセスがあります。これはstdinがパイプしたいものです。私は、ファイルを使用してそれを行うことができます知っている:ファイルを使用せずにサブプロセスパイプstdin
import subprocess
subprocess.call('shell command', stdin=open('somefile','mode'))
は、実際のハードドライブのファイルなしカスタムSTDINパイプを使用するための任意のオプションがありますか?たとえば、文字列リストを使用するためのオプションはありますか(各リスト要素は改行になります)?
私は、pythonサブプロセスがパイプオブジェクトに対して.readline()
を呼び出していることは知っています。
あなたの質問に必ずしも答え、それは任意のPOSIX準拠のオペレーティングシステムが「ファイル」とは/ dev/STDINの使用をサポートしていることを言及する価値がありますが、これは全体で動作しますストリームを終了するためにEOFを使用するシェルコマンドを使用しています。ちょうどこれをOSX、Linux、OpenBSD上でtcshとbashを使って検証しました。 – synthesizerpatel
@synthesizerpatelは答えではありませんが、貴重なコメントをいただきありがとうございます! – ducin
まあ、公正で、それは** **答えです。ちょうど** **答えではありません。 :D – synthesizerpatel