0

我正在尝试使用 subprocess 来检查是否安装了 java 并检查它是否是正确的版本。从文档中,您可以将输出映射到变量并能够使用,但它不适用于 java。例如,当我这样做时,li = subprocess.check_output(["ls", "-la", "."])我将输出存储在 li 中,并且控制台上没有显示任何内容。但是当我这样做jd = subprocess.check_output(["java", "-version"])是终端上显示的

java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

jd 为空。

4

1 回答 1

1

您可以通过将结果jd中的标准错误捕获到标准输出来将结果存储到:

jd = subprocess.check_output(["java", "-version"],
              stderr=subprocess.STDOUT)
于 2013-07-16T18:33:44.280 回答