2014-09-19 130 views
-3

我正在寫一個腳本,它在一個特定的類別中運行一組不同的linux命令。 例如,提供系統信息的命令位於名爲SYS_INFO的類別中。python閱讀複雜的嵌套json值

我使用字典定義的命令(以及關於它們的詳細信息)像這樣

dictionary = { 
       "SYS_INFO": { 
       "Uname": { 
        "msg":"Kernel Version Information", 
        "cmd":"uname -a" 
        }, 
        "OS": { 
        "msg":"Operating System Information", 
        "cmd":"cat /etc/issue" 
        }, 
       "NET_INFO": { 
        etc... 
       } 
       } 

我翻翻字典,需要循環,並獲得「類別」(UNAME,OS)和相關他們的信息(msg,cmd),不同的信息(SYS_INFO,NET_INFO)。

如何迭代字典並獲取所需的信息?

+1

https://docs.python.org/2/tutorial/datastructures.html#dictionaries – jonrsharpe 2014-09-19 22:16:45

回答

1

一種方法是是這樣的:

for k1 in dictionary: 
    for k2 in dictionary[k1]: 
     print k1, k2, dictionary[k1][k2] 

另一種方式是

for k1, d1 in dictionary.items(): 
    for k2, v in d1.items(): 
     print k1, k2, v