使用 plistlib 访问 1 个键,后面没有其他嵌套键

Using plistlib to access 1 key with out the other nested keys after it

这将是一个愚蠢的。

我想从下面的 Plist 中删除 "YES":

<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 库我可以做到:

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

我会得到 "YES" 和 "Dont care",但由于它不仅仅是一个标准列表,我无法使用 [0]

访问它

使用 for 循环虽然我只能得到 "YES" 但我觉得应该有更简洁的方法来做到这一点。

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

print x
'YES'

有点不清楚如果数据结构与示例中的数据结构不完全相同(如果字典中有多个键怎么办?),但我猜你想看看dict 的 .keys() 方法(或类似 dict 的对象,我不确定)你离开了 plistlib。