Нужны предложения, чтобы получить работу git clone с ssh-сервера с использованием скрипта Python

1

Мне здесь не нужна помощь. Я пытаюсь получить git-репозиторий с моего корпоративного сервера через ssh.

команда для запуска - это git clone ssh://[email protected]/somefile.git/

Я новичок в программировании на питоне и смотрю на какую-то помощь.

def getRepository():
    command =  'ssh://[email protected]/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()

Во время этого процесса он запрашивает пароль пользователя, который, как я думал, общается (input = 'password'), позаботится, но это не так.

На самом деле требуется некоторое время, чтобы запросить пароль, и я должен прочитать эту строку, прежде чем я укажу пароль как входной. Как мне это достичь?

Я попытался написать stdout в файле и прочитать файл, пока не получу эту строку, но это тоже не сработало.

Кроме того, когда я вводил пароль вручную, я не вижу прогресса загрузки на терминале. есть ли способ получить это тоже?

  • 0
    Модуль pexpect может помочь вам
  • 0
    Вы можете взглянуть на исходный код mr.developer ; этот пакет управляет извлечениями из git, hg, svn и bazaar из Python. По крайней мере плагин SVN также обрабатывает запрос имени пользователя и пароля.
Теги:

2 ответа

1
Лучший ответ

Используйте модуль pexpect для обеспечения интерактивных входов

См. Один из моих предыдущих примеров ответа: Самый простой способ запустить сценарий ожидания из python

  • 0
    Спасибо Pyfunc .. Я использовал модуль pexpect, но застрял с проблемой, которую я поставил в следующем потоке .. stackoverflow.com/questions/11208931/…
0

Вы также можете использовать модуль Paramiko с очень приятным API

Ещё вопросы

Сообщество Overcoder
Наверх
Меню