executeSelector: withObject: afterDelay: не работает, несмотря на начало в главном потоке

Я думаю, вы хотите создать экземпляр двух отдельных объектов Popen, один для «ls», а другой для «sed». Вы хотите передать первый атрибут stdout объекта Popen в качестве аргумента stdin второму объекту Popen.

Пример:

p1 = subprocess.Popen('ls ...', stdout=subprocess.PIPE)
p2 = subprocess.Popen('sed ...', stdin=p1.stdout, stdout=subprocess.PIPE)
print p2.communicate()

Вы можете сохранить цепочку этого если у вас больше команд:

p3 = subprocess.Popen('prog', stdin=p2.stdout, ...)

Дополнительную информацию о работе с подпроцессами см. в документации к подпроцессу .

0
задан Jeff 19 January 2019 в 00:29
поделиться