subprocess module usage

Chris Angelico rosuav at gmail.com
Mon Sep 1 01:39:47 EDT 2014


On Mon, Sep 1, 2014 at 3:24 PM, Earl Lapus <earl.lapus at gmail.com> wrote:
> On Mon, Sep 1, 2014 at 11:55 AM, Chris Angelico <rosuav at gmail.com> wrote:
>>
>> But secondly, you're already splitting the argument (or rather, taking
>> it from your own parameters, already split), so you don't want to go
>> through the shell. In fact, going through the shell would only make
>> your life harder. Change that to shell=False and you'll see everything
>> work.
>>
>
> Changing shell value to False worked. I appreciate your help Chris, Thanks!

Glad it's working! But please, don't just take my word for it and make
a black-box change to your code. When you invoke subprocesses, be sure
you understand what's going on, and when shell=True is appropriate and
when shell=False is appropriate. The docs should be fairly clear on
this. If you get this sort of thing wrong, you'll get weird errors
like this (if you're lucky), or open yourself up to shell injection
vulnerabilities (if you're not).

ChrisA



More information about the Python-list mailing list