title: Why does passing variables to subprocess.Popen not work despite passing a list of arguments?
body: <p>I have a script which calls another Python script by <code>subprocess.Popen</code>. But since I have arguments stored in variable(s)</p>
  <pre><code>servers[server]['address']
  servers[server]['port']
  servers[server]['pass']
  </code></pre>
  <p>I am unable to perform the command</p>
  <pre><code>p = subprocess.Popen(
      [&quot;python mytool.py -a &quot;, servers[server]['address'], &quot;-x&quot;, servers[server]['port'], &quot;-p&quot;, servers[server]['pass'], &quot;some additional command&quot;],
      shell=True,
      stdout=subprocess.PIPE
  )
  </code></pre>