Как использовать subprocess.Popen для соединения нескольких процессов по каналам?
Как выполнить следующую команду оболочки с использованием Pythonsubprocess
модуль?
echo "input data" | awk -f script.awk | sort > outfile.txt
Входные данные будут поступать из строки, поэтому мне на самом деле не нужноecho
, У меня так далеко, может кто-нибудь объяснить, как я получаю это через трубуsort
тоже?
p_awk = subprocess.Popen(["awk","-f","script.awk"],
stdin=subprocess.PIPE,
stdout=file("outfile.txt", "w"))
p_awk.communicate( "input data" )
ОБНОВИТЬ: Обратите внимание, что хотя принятый ответ, приведенный ниже, на самом деле не отвечает на поставленный вопрос, я считаю, что С. Лотт прав, и лучше вообще не решать эту проблему!