1

ここではほとんど助けは必要ありません。ssh経由で企業サーバーからgitリポジトリを取得しようとしています。

実行するコマンドはgit clone ssh://username@someserver.com/somefile.git/

私はPythonプログラミングの初心者であり、いくつかの支援を探しています。

def getRepository():
    command =  'ssh://username@someserver.com/somefile.git'
    clone_process = subprocess.Popen(['git','clone',command],stdin = subprocess.PIPE, stdout = subprocess.PIPE,stderr=subprocess.PIPE)
    output,error = clone_process.communicate(input='password') 


if  __name__ == '__main__':
    getRepository()

このプロセス中に、communicate(input ='password')が処理すると思ったユーザーパスワードの入力を求められますが、そうではありません。

実際、パスワードの入力を求めるには時間がかかり、パスワードを入力する前にその行を読む必要があります。どうすればこれを達成できますか?

stdoutをファイルに書き込んで、その行が表示されるまでファイルを読み取ってみましたが、それも機能しませんでした。

また、パスワードを手動で入力すると、端末にダウンロードの進行状況が表示されません。それを取得する方法もありますか?

4

2 に答える 2

1

pexpectモジュールを使用してインタラクティブな入力を提供する

答えについては、前の例の1つを参照してください:Pythonからexpectスクリプトを実行する最も簡単な方法

于 2012-06-26T07:17:49.280 に答える
0

非常に優れたAPIでParamikoモジュールを使用することもできます

于 2012-06-26T07:34:33.570 に答える