MASTG-TOOL-0136:plistlib
plistlib 模块 是 Python 标准库的一部分,允许您以编程方式读取、修改和写入 .plist
(属性列表) 文件。 它支持 XML 和二进制 plist 格式,并提供基于原生字典的 API。
这使得 plistlib
成为 PlistBuddy 的跨平台替代方案,适用于脚本或自动化用例。
读取 Plist 文件¶
以下示例通过将 plist 文件加载到 Python 字典中来打印其内容
import plistlib
with open("Info.plist", "rb") as f:
plist = plistlib.load(f)
print(plist)
这将打印 plist 的字典表示形式,可以像任何其他 Python 字典一样进行检查和修改。
读取指定的 Plist 条目¶
解析 plist 后,您可以使用常规 Python 语法访问字典键和数组元素。 以下示例打印第三个应用程序图标格式
print(plist["CFBundleIcons~ipad"]["CFBundlePrimaryIcon"]["CFBundleIconFiles"][2])
# Output: AppIcon-140x40
更改 Plist 值¶
要修改诸如 CFBundleDisplayName
之类的条目,请分配一个新值,然后使用 plistlib.dump
将更新后的 dict 写回文件
plist["CFBundleDisplayName"] = "My New App Name"
with open("Info.plist", "wb") as f:
plistlib.dump(plist, f)
添加和删除 Plist 值¶
可以使用常规 Python 字典操作添加或删除新键
# Add a new dictionary
plist["CustomDictionary"] = {"CustomProperty": "OWASP MAS"}
# Delete a key
del plist["CustomDictionary"]["CustomProperty"]
# Save the updated plist
with open("Info.plist", "wb") as f:
plistlib.dump(plist, f)