title: Python subprocess using JSON dictionary as argument
body: <p>I am trying to pass a JSON dictionary as an argument through the terminal using a <code>subprocess</code>. The dictionary keeps ending up different from when I pass it manually through the terminal. I am using this code for the <code>subprocess</code>:</p>
  
  <pre><code>subprocess.call("python ../power_supply_gui/PowerSupplyControl.py "+ "{\"CHANNEL\":\"d\",\"VOLT\":\"1\",\"CURRENTLIMIT\":\"1\",\"ENABLE\":\"1\"}",shell=True)
  </code></pre>
  
  <p>I should be getting this when I read it in the other program:</p>
  
  <pre><code>{"CHANNEL":"d","VOLT":"1","CURRENTLIMIT":"1","ENABLE":"1"}
  </code></pre>
  
  <p>but instead, I am getting this:</p>
  
  <pre><code>{CHANNEL:d,VOLT:1,CURRENTLIMIT:1,ENABLE:1}
  </code></pre>
  
  <p>This is how the program that is called is reading the argument and outputting it:</p>
  
  <pre><code>print sys.argv[1]
  print type(sys.argv[1])
  commandDictionary=json.loads(sys.argv[1]) 
  </code></pre>