如何解析一个plist?
How to parse a plist?
我正在尝试解析下面的 plist pl
,我能够解析 ["IOKitPersonalities"]["UART"]["ProductFWMapping"]
中的键,但是无法打印相应的 Firmware
值和 运行 进入以下错误?如何打印所有固件值,下面还有预期的输出?
pl = {'IOKitPersonalities': {'UART': {'ProductFWMapping': {'D321': {'Firmware': 'C-4377__s-B2/aladdink.trx'}, 'J318': {'Firmware': 'C-4377__s-B2/monstrob.trx'}, 'D331': {'Firmware': 'C-4377__s-B2/geniek.trx'}}}}, 'NSHumanReadableCopyright': u'Copyright \xa9 2013 Company Inc. All rights reserved.'}
for hw in pl["IOKitPersonalities"]["UART"]["ProductFWMapping"]:
print hw
for hw in pl["IOKitPersonalities"]["UART"]["ProductFWMapping"]:
print hw['Firmware']
错误:-
print hw['Firmware']
TypeError: string indices must be integers, not str
预期输出:-
['D321','J318','D331']
['C-4377__s-B2/aladdink.trx','C-4377__s-B2/monstrob.trx','C-4377__s-B2/geniek.trx']
硬件只是关键。应该是
for hw in pl["IOKitPersonalities"]["UART"]["ProductFWMapping"]:
print pl["IOKitPersonalities"]["UART"]["ProductFWMapping"][hw]['Firmware']
我正在尝试解析下面的 plist pl
,我能够解析 ["IOKitPersonalities"]["UART"]["ProductFWMapping"]
中的键,但是无法打印相应的 Firmware
值和 运行 进入以下错误?如何打印所有固件值,下面还有预期的输出?
pl = {'IOKitPersonalities': {'UART': {'ProductFWMapping': {'D321': {'Firmware': 'C-4377__s-B2/aladdink.trx'}, 'J318': {'Firmware': 'C-4377__s-B2/monstrob.trx'}, 'D331': {'Firmware': 'C-4377__s-B2/geniek.trx'}}}}, 'NSHumanReadableCopyright': u'Copyright \xa9 2013 Company Inc. All rights reserved.'}
for hw in pl["IOKitPersonalities"]["UART"]["ProductFWMapping"]:
print hw
for hw in pl["IOKitPersonalities"]["UART"]["ProductFWMapping"]:
print hw['Firmware']
错误:-
print hw['Firmware']
TypeError: string indices must be integers, not str
预期输出:-
['D321','J318','D331']
['C-4377__s-B2/aladdink.trx','C-4377__s-B2/monstrob.trx','C-4377__s-B2/geniek.trx']
硬件只是关键。应该是
for hw in pl["IOKitPersonalities"]["UART"]["ProductFWMapping"]:
print pl["IOKitPersonalities"]["UART"]["ProductFWMapping"][hw]['Firmware']