在读取最后一个返回的值之前,在控制台中有一行调用带有很少变量的bash命令。这个bash命令返回一个值,但是当然是在bash屏幕中。我的问题是我如何尽快读取此值以处理其他行。
我正在使用子进程库中的'call'函数来调用bash命令
call(["some", "words", "and", "variables"])
答案 0 :(得分:0)
我想回答我的问题。 首先,我更改了“调用方法”。正如我所说,我正在使用'subprocess.call'函数,
call(["some", "words", "and", "variables"])
已更改
p = Popen(["some", "words", "and", "variables"], stdout=PIPE, stderr=PIPE)
为了到达此命令的输出(也有错误),我们可以使用communicate()
函数。
outputs, errors = p.communicate()
交流的第一个要素是输出,第二个要素是错误。但是请注意,这些值将作为字符串值返回。