Как разобрать плист? - PullRequest
       13

Как разобрать плист?

0 голосов
/ 05 октября 2018

Я пытаюсь разобрать 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']

1 Ответ

0 голосов
/ 05 октября 2018

hw это просто ключ.должно быть

for hw in pl["IOKitPersonalities"]["UART"]["ProductFWMapping"]:
    print pl["IOKitPersonalities"]["UART"]["ProductFWMapping"][hw]['Firmware']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...