我希望启动一个子进程并读取其stderr输出,但是目前使用subprocess.Popen时无法读取任何内容,包括stdout。我尝试使用subprocess.communicate()从stdout和stderr读取数据。这是我的操作:
import subprocess
p = subprocess.Popen('ls')
s = p.communicate()
print s
这给我输出 (None, None)。我认为这一对是用于 stdin 和 stderr 的。不管怎样,我该如何从使用 subprocess.Popen 启动的进程中读取 stdout 和 stderr?