0

サブプロセスを使用して、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結果の標準エラーを stdout にキャプチャすることで、結果を に保存できます。

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