1

bash コマンドを含む関数を作成しようとしました。コマンドの出力を python の変数に割り当てたいのですが、関数 gitCheck は git リポジトリのディレクトリを見つけて gitRep に割り当てますが、0 しか返されません。前もって感謝します

def gitCheck():
reference_repositories_path="cat $HOME/.git_reference_repositories | sed 's/GIT_REFERENCES_PATH=//'"
gitRep=os.system(reference_repositories_path)
print gitRep

出力 はあるはずです/home/gwapps/Desktop/GIT_REFERENCE_REPOSITORIES が、それは私に与えます0

4

1 に答える 1

1

終了ステータスを取得しています。os.system() ドキュメントによると:

Unix では、戻り値は、wait() に指定された形式でエンコードされたプロセスの終了ステータスです。

...

subprocess モジュールは、新しいプロセスを生成し、その結果を取得するためのより強力な機能を提供します。この関数を使用するよりも、そのモジュールを使用することをお勧めします。

したがって、コマンドの出力を取得する場合は、subprocessmodule を使用します。ここSOにはたくさんの例があります。

于 2013-09-03T08:42:23.510 に答える