Fix Python – How do I pass a string into subprocess.Popen (using the stdin argument)?

If I do the following:
import subprocess
from cStringIO import StringIO
subprocess.Popen([‘grep’,’f’],stdout=subprocess.PIPE,stdin=StringIO(‘one\ntwo\nthree\nfour\nfive\nsix\n’)).communicate()[0]

I get:
Traceback (most recent call last):
File ““, line 1, in ?
File “/build/toolchain/mac32/python-2.4.3/lib/python2.4/subprocess.py”, line ….