などの方法を試しos.popen
ました。しかし、それは私にはうまくいかないようです。'echo xxxx'
コマンドとの間に何か違いがあるかどうか疑問に思っています.Pythonコードで出力'java -version'
を取得するにはどうすればよいですか.'java -version'
質問する
4648 次
3 に答える
6
import subprocess
sp = subprocess.Popen(["java", "-version"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print sp.communicate()
print sp.wait()
行くための本当の方法です。
さらに簡単な方法は
print subprocess.check_output(["java", "-version"], stderr=subprocess.STDOUT)
于 2012-09-25T09:05:51.900 に答える
2
違いは、の代わりににjava -version
印刷することです。(より良い)を使用してコマンドのを確認するか、手動でリダイレクトすることができます:stderr
stdout
stderr
subprocess.Popen
stdout
stderr
java -version 2>&1
于 2012-09-25T08:42:59.943 に答える
-2
はい、違いはjava-versionがstderrストリームに送られることです。popen3をお試しくださいhttp://docs.python.org/library/popen2.html
于 2012-09-25T08:41:59.597 に答える