Comment puis-je utiliser des sous-processus.Popen de connecter plusieurs processus par des tuyaux?

Comment puis-je exécuter la commande shell suivante à l'aide de l'Python sous-processus module?

echo "input data" | awk -f script.awk | sort > outfile.txt

Les données d'entrée viendra à partir d'une chaîne, donc je n'ai pas réellement besoin echo. J'ai de loin, quelqu'un peut-il expliquer comment j'arrive à pipe à travers sort trop?

p_awk = subprocess.Popen(["awk","-f","script.awk"],
                          stdin=subprocess.PIPE,
                          stdout=file("outfile.txt", "w"))
p_awk.communicate( "input data" )

Mise à JOUR: Note que, bien que l'on a accepté la réponse ci-dessous n'est pas réellement répondre à la question posée, je crois que S. Lott est droit et qu'il vaut mieux éviter d'avoir à résoudre le problème en premier lieu!

InformationsquelleAutor Tom | 2008-11-17