Я новичок в python и простая задача - я делаю - извлекаю все ветки в git-репозитории и печатаю на консоли.
Я вижу ниже кусок кода работает нормально, но все время он дает мне различное количество списков веток для одного и того же хранилища, я вижу, что subprocess.popen () не блокируется, поэтому я пытался использовать wait () и общаться () для удерживайте выполнение, но wait () никогда не завершает процесс, а connect () выдает мне разное количество веток каждый раз, когда я запускаю код. (отличается от выполнения команды в git bash)
хранилищам может потребоваться другое время, чтобы завершить его выполнение. Любая помощь, чтобы перечислить все филиалы.
proc = subprocess.Popen(['git', 'ls-remote', '--heads' , url],
stdin = subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT, shell=True)
while proc.poll() is None:
out = proc.stdout.readline()
print (out)
proc.communicate()