2011-10-17 10 views
4

はここで非常に具体的な質問ですが、私はもう少し一般的な解決策を探しています:シェルスクリプト:呪いを使用呼び出すプログラムなど

私が支援するためにPythonでシェルスクリプトを書いています様々なリポジトリのgit cloneを実行することを含む、さまざまな設定タスクで使用できます。私がgit cloneと呼ぶと、git displayの出力を端末に直接供給する良い方法がありますか?(プログレスバーなど)

gitの動作は、進行状況を示すために端末の同じ部分に書き直す必要があるため、サブプロセスのstdoutをsys.stdoutにパイプするだけではそれをカットしません。だから、これは十分では本当に良いではありません。私は答え、「のgit-pythonのを使用する」を探していないよ

import sys, subprocess 
process = subprocess.Popen("git clone --recursive https://github.com/my/repo.git", 
          shell=True, 
          stdout=sys.stdout, 
          stderr=subprocess.PIPE) 

- むしろ、私はに適用することができ、より一般的な手法を探していますこの設定タスクと他の設定タスク。

ありがとうございます!

答えて

2

試してみてください。これは、wgetため

import os 
os.system(mycommand) 

働き、画面上の1行に自分自身を書き換えプログレスバーが正しく、このように動作します。私はそれがgitと他の人のために働くと思います。

関連する問題