我正在构建一个数据管道,将原始文件处理成二进制文件。文件很大并且有多个步骤,因此尽可能避免写入磁盘是有利的。获取一个子进程的输出并使其成为另一个子进程的输入很容易,但是如何处理需要多个输入文件的子进程呢?尤其是:
我有两个进程对两个文件 A 和 B 进行操作,它们输出文件 A' 和 B'。下一个命令使用以下 shell 语法
bwa sampe referencefile A' B' A B
需要五个文件。如果将 A' 和 B' 写入磁盘,这可以很容易地完成shell=True
,但这是我想要避免的。如何实现避免写入磁盘并保持正确顺序的 stdout -> stdin 关系?