Ich versuche, ein JSON-Wörterbuch als ein Argument durch das Terminal mit einem Unterprozess übergeben. Das Wörterbuch bleibt anders als wenn ich es manuell durch das Terminal gebe. Ich verwende diesen Code für den UnterprozessPython-Subprozess mit JSON-Wörterbuch als Argument
Ich sollte das bekommen, wenn ich es in dem anderen Programm lese. { "CHANNEL": "d", "VOLT": "1", "CURRENTLIMIT": "1", "ENABLE": "1"}
sondern bekomme ich diesen
{CHANNEL : d, VOLT: 1, CURRENTLIMIT: 1, ENABLE: 1}
das ist, wie das Programm, das das Argument ist, das Lesen und outputing es
print sys.argv[1]
print type(sys.argv[1])
commandDictionary=json.loads(sys.argv[1])
Danke, dass es war –
Super! Froh, dass ich Helfen kann! Als richtige Antwort markieren? –
Eine vielleicht bessere Lösung ist es, 'shell = True' nicht zu verwenden:' subprocess.call (('python', '../power_supply_gui/PowerSupplyControl.py', json.dumps (...))) ' –