スクリプトを呼び出して、文字列の内容を標準入力にパイプし、標準出力を取得したいと考えています。
実際のファイルシステムに触れたくないので、実際の一時ファイルを作成できません。
を使用するsubprocess.check_output
と、スクリプトが記述したものは何でも取得できます。ただし、入力文字列を標準入力に入れるにはどうすればよいですか?
subprocess.check_output([script_name,"-"],stdin="this is some input")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/subprocess.py", line 537, in check_output
process = Popen(stdout=PIPE, *popenargs, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 672, in __init__
errread, errwrite) = self._get_handles(stdin, stdout, stderr)
File "/usr/lib/python2.7/subprocess.py", line 1043, in _get_handles
p2cread = stdin.fileno()
AttributeError: 'str' object has no attribute 'fileno'