Python - 如何使用子进程从shell命令保存json数据输出?

时间:2016-06-08 19:26:45

标签: python json shell subprocess

我有一个shell命令,当作为普通的shell命令运行时会产生嵌套的json 响应。

但是,我现在正试图通过Python运行此命令。这样做的时候,我使用了subprocess.checkoutput函数,如下所示:

my_command = 'xyz show --format=json -j jobid'
data = subprocess.check_output(my_command, shell=True)

意识到'数据'我正在存储一个字符串,然后我执行了这个命令:

data_as_json = json.loads(data)

当我尝试在data_as_json中检索非嵌套键的值时,它可以正常工作。但是,当我尝试对嵌套密钥执行相同操作时,我收到如下错误:

billed = data_as_json['statistics']['AmountBilled']
KeyError: 'AmountBilled'

我该如何克服这个问题?提前谢谢!

0 个答案:

没有答案