问题是
subprocess.call
返回
执行情况;如果出现错误,则为0(如果成功)或任何其他正整数。
现在,当您执行
output['result']
,这与执行相同
0['result']
这没有意义,因为数字不支持通过
[]
,其技术术语是
__getitem__
.
你需要执行
subprocess.check_output
; 它将输出作为字符串返回。
然后还有一个小问题,需要在解析后的json上获取字典,而不是
output
.
简而言之,您需要:
import json
# import sys -- not required
import subprocess
output=subprocess.check_output('pywhmcs --url http://whmcs.test.it --username myuser --password mypass --action gettickets --params status="tickets" email="email@email.com"',shell=True)
values = json.loads(str(output))
print (values['result']) # note values, not output