我正在尝试使用子进程来检查是否安装了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为空。
答案 0 :(得分:1)
您可以通过将结果中的标准错误捕获到stdout来将结果存储到jd
中:
jd = subprocess.check_output(["java", "-version"],
stderr=subprocess.STDOUT)