Как выполнить следующую команду оболочки с помощью модуля Python subprocess
?
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" )
ОБНОВЛЕНИЕ. Обратите внимание: хотя принятый ответ ниже не отвечает на вопрос, как было задано, я считаю, что С. Лотт прав, и лучше избегать необходимости решать эту проблему в первую очередь