python 解析苹果的二进制 plist 文件,很方便:

import plistlib

with open('iconstate.plist', 'rb') as fp:
    pl = plistlib.load(fp)
    
    for icon in pl['buttonBar']:
        print(icon) 

    for iconlist in pl['iconLists']:
         print(iconlist)
        
# 然后就可以当做 dict 来遍历了        
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>buttonBar</key>
	<array>
		<string>com.apple.mobilephone</string>
		<string>com.apple.mobilesafari</string>
		<string>com.apple.MobileSMS</string>
		<string>com.apple.Music</string>
	</array>
	<key>iconLists</key>
	<array>
		<array>
			<string>com.apple.mobilecal</string>
			<string>com.apple.mobileslideshow</string>
			<string>com.apple.camera</string>
			<string>com.apple.mobilemail</string>
			<string>com.apple.mobiletimer</string>
			<string>com.apple.mobilenotes</string>
			<string>com.apple.reminders</string>
			<string>com.apple.news</string>
			<string>com.apple.AppStore</string>
			<dict>
				<key>displayName</key>
				<string>Health</string>
				<key>iconLists</key>
				<array>
					<array>
						<string>com.apple.Passbook</string>
						<string>com.apple.Health</string>
					</array>
				</array>
				<key>listType</key>
				<string>folder</string>
			</dict>
			<string>com.apple.Preferences</string>
		</array>
		<array>
			<string>com.apple.mobileme.fmip1</string>
			<string>com.apple.MobileAddressBook</string>
			<string>com.apple.DocumentsApp</string>
			<string>net.whatsapp.WhatsApp</string>
			<string>com.tencent.mqq</string>
			<string>com.midasplayer.apps.candycrushsaga</string>
			<string>com.hipsterwhale.crossy</string>
			<string>com.makeover.studio</string>
		</array>
	</array>
</dict>
</plist>
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐