0
サブプロセスを使用して、ターミナルから引数としてjsonディクショナリを渡そうとしています。辞書は、私が端末を手動で渡すときとは違うものになってしまいます。私は他のプログラムでそれを読んだとき、私はこれを取得する必要があり、サブプロセス引数としてjsonディクショナリを使用するpythonサブプロセス
subprocess.call("python ../power_supply_gui/PowerSupplyControl.py "+ "{\"CHANNEL\":\"d\",\"VOLT\":\"1\",\"CURRENTLIMIT\":\"1\",\"ENABLE\":\"1\"}",shell=True)
ためにこのコードを使用しています。 { "CHANNEL": "D"、 "VOLT": "1"、 "CURRENTLIMIT": "1"、 "ENABLE": "1"}
ではなく、私はこの
{CHANNELを取得しています:D、VOLT:1、CURRENTLIMIT:1は、ENABLE:1}
をこれが呼び出されたプログラムが引数を読み取り、JSON文字列に
print sys.argv[1]
print type(sys.argv[1])
commandDictionary=json.loads(sys.argv[1])
ありがとうございました –
恐ろしいです!助けてうれしい!正解とマークする? –
もっと良い解決策は、 'shell = True'を使わないことです:' subprocess.call( '' python '、' ../power_supply_gui/PowerSupplyControl.py '、json.dumps(...))) ' –