我有一个命令从Windows命令提示符,它按预期工作我可以手动运行:的Windows CMD蟒蛇subprocess.call
> gridcoinresearchd sendmany "Default" {"""x9Bqs6dTm17tsiEyZ9m4j5Yd8N2dpqw""":1.00000000} 2 "Hello World"
所以,我建我的subprocess.call()从如下一组变量,其中一些来自其他变量,其中;
call_insert = [val for pair in zip(quotes, quotes, quotes, address, quotes, quotes, quotes, colon, call_amount, comma) for val in pair]
call_insert = str("{"+(''.join(call_insert))+"}")
account_label = str('"'+(raw_input("Choose Account Label: "))+'"')
message = str('"'+(raw_input("Enter if you wish to send a message: "))+'"')
则:
subprocess.call(['gridcoinresearchd', 'sendmany', account_label, call_insert, "2", message], shell=True)
使用subprocess.call我从目标程序中的错误时:
error: Error parsing JSON:{x9Bqs6dTm17tsiEyZ9m4j5Yd8N2dpqw:1.00000000}
如果我手动把这些变量:
call_insert = str("""{"x9Bqs6dTm17tsiEyZ9m4j5Yd8N2dpqw":1.00000000}""")
然后我的subprocess.call()的作品。
所以我认为这是我的混淆如何Windows命令提示符解释我需要在我的subprocess.call()字符串中的引号。
我希望这是有道理的。