我正在使用python。我正在尝试运行一个进程并使用 subprocess.popen 获取输出。在阅读之后,我看到人们使用communicate()[0],但那不是在文档中,它被用在一个例子中。我想知道是否有人可以向我解释为什么要将 [0] 附加到通信()?
问问题
1298 次
1 回答
6
来自文档:
Popen.communicate(input=None)
与进程交互:将数据发送到标准输入。从 stdout 和 stderr 读取数据,直到到达文件结尾。等待进程终止。可选的输入参数应该是要发送到子进程的字符串,或者如果不应该向子进程发送数据,则为 None。
communicate()
返回一个元组(stdoutdata,stderrdata)。
所以communicate()[0]
用于访问stdoutdata
和communicate()[1]
访问stderrdata
要访问元组或列表中的元素,我们使用索引,第一个元素位于索引 0 处。
>>> tup = ("foo", "bar")
>>> tup[0]
'foo'
>>> tup[1]
'bar'
于 2013-05-20T04:39:52.083 回答