title: Calling app from subprocess.call with arguments
body: <p>I'm a beginner in Python, and I've been trying to call a command line app, but it fails:</p>
  
  <pre><code>&gt;&gt;&gt; import subprocess as s
  &gt;&gt;&gt; s.call("gpio -g read 17")
  Traceback (most recent call last):
      File "&lt;stdin&gt;", line 1, in &lt;module&gt;
      File "/usr/lib/python2.6/subprocess.py", line 470, in call
          return Popen(*popenargs, **kwargs).wait()
      File "/usr/lib/python2.6/subprocess.py", line 623, in __init__
          errread, errwrite)
      File "/usr/lib/python2.6/subprocess.py", line 1141, in _execute_child
          raise child_exception
  OSError: [Errno 2] No such file or directory
  </code></pre>
  
  <p>But then if I add <code>shell=True</code> it all starts working. Can someone explain why?</p>
  
  <pre><code>&gt;&gt;&gt; import subprocess as s
  &gt;&gt;&gt; s.call("gpio -g read 17", shell=True)
  &gt;&gt;&gt; 0
  </code></pre>