我是python3初学者。我试图用python3脚本获取java版本。在我检查了文档后,我看到subprocess.check_output可能就是我需要的。
output = subprocess.check_output(["java", "-version"])
print("Output is {}".format(output))
问题是我得到的输出是
Output is b''
为什么我没有使用bash获得正确的字符串?
由于
答案 0 :(得分:2)
由于某种原因,您的输出落在stderr
。您可以将其传递给返回值,如下所示:
output = subprocess.check_output(["java", "-version"], stderr=subprocess.STDOUT)
如果有人知道为什么会进入stderr
,我会很高兴听到它。例如,["python", "--version"]
按预期工作。