Thanks for the explications Tom. I didn't realize the consequently to use a string like in my example. Sorry for my bad post
2012/3/1 Tom Evans <tevans...@googlemail.com> > On Thu, Mar 1, 2012 at 11:42 AM, Sébastien Billion > <sebastien.bill...@gmail.com> wrote: > > Hi, > > > > You can try something like that: > > > > p = subprocess.Popen(args=[("%s %s") % (script_name,command_args1)], > > Sorry to pick on something seemingly inconsequential, but this really > riles me. If you launch a subprocess using a string like "command arg1 > arg2 arg3", then you force the OS to do additional work to spawn the > process via the shell. at which point the shell then has to re-parse > the arguments that you passed to it. > > So, what's the big deal? > > If command_args1 was the string 'hello world', then the suggested > approach would not work. The argument would be split into two separate > arguments by the shell. You already know which argument you want and > where you want it, so just pass them through appropriately with a > list. > > The only 'benefit' going through a shell is that you can rely on the > shell searching $PATH to find the 'right' executable. As I've > intimated, this isn't much of a benefit. > > OP: > > Are you showing us precisely the code that runs? WFM… > > >>> import sys > >>> import subprocess > >>> p=subprocess.Popen([sys.executable, 'hello.py', 'sdfg'], > stdout=subprocess.PIPE) > >>> p.communicate() > ('hello\n', None) > > > Cheers > > Tom > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-users@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.