stdout = subprocess.PIPE和stdout = PIPE之间的区别

时间:2012-03-07 17:17:12

标签: python pipe subprocess

所以标题几乎解释了我的问题。 stdout = subprocess.PIPE和stdout = PIPE有什么区别?两者都来自子进程模块,但为什么要使用另一个?你如何使用stdout = PIPE?即捕获输出?或者将其打印到屏幕上?我只知道如何使用subprocess.PIPE重定向它。

e.g。

import subprocess
from subprocess import PIPE
p = subprocess.Popen(['samtools', 'view', 'bamfile.bam'], stdout=PIPE)

1 个答案:

答案 0 :(得分:4)

from subprocess import PIPE

以替代名称subprocess.PIPE提供PIPE;它相当于:

PIPE = subprocess.PIPE

因此,选择哪个版本无关紧要。 subprocess.PIPE清楚地说明变量的来源,但稍长一些。