使用plistlib在其之后使用其他嵌套键访问1个键



这将是一个愚蠢的。

我想从下面的plist中获得"是":

<key>Sample</key>
    <dict>
        <key>No</key>
        <dict>
            <key>Still No</key>
            <dict>
                <key>YES</key>
                <array>
                    <dict>
                        <key>Dont care</key>
                    </dict>
            </dict>
        </dict>
    </dict>

使用plist lib我可以做:

import plistlib as pl
pplist = pl.readPlist(plistPath)
pplist['Sample']['No']['Still No']
{'YES': {'DontCare'}}

我会得到"是"one_answers"不在乎",但是由于它不仅是标准列表,因此我无法使用[0]

访问它

使用一个for循环,尽管我可以得到"是",但是我觉得应该有很多更干净的方法可以做到这一点。

for x in pplist['Sample']['No']['Still No']:
    thisIsYES = x
    break
print x
'YES'

,如果数据结构不完全像示例中的数据结构,您想发生什么(如果DICT中有一个以上的密钥怎么办?),但是我的猜测是您想查看dict的.keys()方法(或类似于dict的对象,我不确定),您会离开plistlib。

相关内容

  • 没有找到相关文章