#python
#python
Вопрос:
У меня есть код python, который выполняет scp
команду и пытается обработать вывод.
def execute(command):
with subprocess.Popen(shlex.split(command), stdout=subprocess.PIPE, universal_newlines=True) as p:
for line in p.stdout:
print(line, end='') # process line here
return p.returncode
Однако scp
имеет индикатор выполнения, и этот код полностью пропускает его. Код python ничего не печатает и просто ждет scp
завершения.
Есть ли какой-либо способ получить этот прогресс subprocess
?
Ответ №1:
Я полагаю, что в python подпроцесс выполняется синхронно, поэтому все выходные данные сбрасываются одновременно. asyncio должен быть полезен.