подпроцесс замена popen2 на Python

Я попытался запустить этот код из книги «Стандартная библиотека Python» Фреда Лунде.

import popen2, string

fin, fout = popen2.popen2("sort")

fout.write("foo\n")
fout.write("bar\n")
fout.close()

print fin.readline(),
print fin.readline(),
fin.close()

Он работает нормально с предупреждением

~/python_standard_library_oreilly_lunde/scripts/popen2-example-1.py:1: 
DeprecationWarning: The popen2 module is deprecated.  Use the subprocess module.

Как перевести предыдущий функция с подпроцессом? Я пробовал следующее, но это не сработало.

from subprocess import *

p = Popen("sort", shell=True, stdin=PIPE, stdout=PIPE, close_fds=True) 
p.stdin("foo\n")                #p.stdin("bar\n")
6
задан prosseek 8 October 2010 в 16:54
поделиться