3

重複の可能性:
Python からシェル コマンドを実行し、出力をキャプチャする

シェル実行出力をキャプチャしたいときは、これを行います。

declare TAGNAME=`git describe --tags` 

単純。Python でこれを探しましたが、それらのほとんどは非常に複雑に見えます。これを行う最も簡単な方法は何ですか? ええ、関数を作成できることは知っていますが、事前定義された関数が存在する場合は知りたいです。

tagname = theFunc('git describe --tags')
4

2 に答える 2

6

試す:

>>> import subprocess
>>> tagname = subprocess.check_output('git describe --tags'.split())
于 2012-08-22T13:29:59.720 に答える
1

subprocessモジュールを見てください。コマンドの出力をキャプチャすることもできます。マニュアルページには、モジュールの使用方法に関する多くの例があります。

例:

output=subprocess.Popen(["ps", "aux"], stdout=subprocess.PIPE,
    stderr=subprocess.PIPE).communicate()

結果は、コマンドからキャプチャされた stdout と stderr のタプルです。

于 2012-08-22T13:31:09.477 に答える