pasar datos a subprocess.check_output

Quiero invocar una secuencia de comandos, canalizando el contenido de una cadena a su stdin y recuperando su stdout.

No quiero tocar el sistema de archivos real, por lo que no puedo crear archivos temporales reales para él.

utilizandosubprocess.check_output Puedo conseguir lo que escriba el guión; ¿Cómo puedo obtener la cadena de entrada en su stdin sin embargo?

<code>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'
</code>

Respuestas a la pregunta(3)

Su respuesta a la pregunta