blocks - send input to python subprocess pipeline

前端 未结 11 1443
轻奢々
轻奢々 2021-01-30 09:22

I\'m testing subprocesses pipelines with python. I\'m aware that I can do what the programs below do in python directly, but that\'s not the point. I just want to test the pipel

11条回答
  •  一整个雨季
    2021-01-30 09:48

    You must do this in several threads. Otherwise, you'll end up in a situation where you can't send data: child p1 won't read your input since p2 doesn't read p1's output because you don't read p2's output.

    So you need a background thread that reads what p2 writes out. That will allow p2 to continue after writing some data to the pipe, so it can read the next line of input from p1 which again allows p1 to process the data which you send to it.

    Alternatively, you can send the data to p1 with a background thread and read the output from p2 in the main thread. But either side must be a thread.

提交回复
热议问题