Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python子进程(输出管道)_Python_Subprocess - Fatal编程技术网

Python子进程(输出管道)

Python子进程(输出管道),python,subprocess,Python,Subprocess,如何在不使用process.communicate()的情况下多次读取输出管道,因为communicate在读取输出后关闭管道,但我需要顺序输入和输出 比如说, 1) process.stdin.write('input_1') 2) 之后,我需要读取输出管道(在关闭管道时,我如何在不使用通信的情况下完成该操作),然后根据需要提供另一个输入 3) process.stdin.write('input_2') 4) 然后读取步骤3的输出 但是,如果我在第一次输入后使用process.communi

如何在不使用process.communicate()的情况下多次读取输出管道,因为communicate在读取输出后关闭管道,但我需要顺序输入和输出

比如说,

1)
process.stdin.write('input_1')

2) 之后,我需要读取输出
管道
(在关闭
管道时,我如何在不使用通信的情况下完成该操作),然后根据需要提供另一个输入

3)
process.stdin.write('input_2')

4) 然后读取步骤3的输出

但是,如果我在第一次输入后使用
process.communication
,那么它会关闭输出
管道
,并且当
管道
关闭时,我无法进行第二次输入


请帮忙。

flush()
stdin,然后使用
read()
stdout。

而不是
process.communicate()
,使用
process.stdout.read()