Thank you very much, Peter! It works!
On Thu, May 23, 2013 at 9:32 AM, Peter Otten <__pete...@web.de> wrote: > Alex Naumov wrote: > > > I'm trying to call new process with some parameters. The problem is that > > the last parameter is a "string" that has a lot of spaces and different > > symbols like slash and so on. I can save it in file and use name of this > > file as parameter, but my question is: how to make it without > additional > > saving? > > > > import subprocess as sp > > > > rc = sp.Popen(["prog", "--options", "<", msg], stdin=sp.PIPE, > > stdout=sp.PIPE) > > stdout = rc.communicate()[0] > > print stdout > > > p.s. > > type(msg) => <type 'str'> > > The < operator is a shell feature, not an argument, and msg is intended to > be send to prog's stdin. The communicate() method accepts a parameter for > that. So: > > rc = sp.Popen(["prog", "--options"], stdin=sp.PIPE, stdout=sp.PIPE) > stdout = rc.communicate(msg)[0] > > -- > http://mail.python.org/mailman/listinfo/python-list >
-- http://mail.python.org/mailman/listinfo/python-list