我需要读取一个plist文件并搜索一个字符串,然后在下一行添加新的一行文本。我无法想象做这件事会花费太多时间。然而,plist是二进制格式,所以不确定如何处理它。
提前谢谢你,
Aaron
#Convert plist to XML
os.system('plutil -convert xml1 com.apple.iChat.Jabber.plist')
AutoDiscovery = "<integer>0<integer>"
import fileinput
for line in fileinput.FileInput("com.apple.iChat.Jabber.plist",inplace=1):
line = line.replace("<key>AutoDiscoverHostAndPort</key>",AutoDiscovery)
print line,
#Concert plist to binary file
os.system('plutil -convert binary1 com.apple.iChat.Jabber.plist')发布于 2010-08-09 22:07:33
您需要先将其转换为xml格式:
plutil -convert xml file.plist然后剩下的应该是相当容易的。
编辑:
newFile = open('file.copy', 'w+')
for line in open('file'):
if (line.find('string_to_find') >= 0):
# do something with "line"
newFile.write(line)
newFile.close()EDIT2:
# convert plist from binary to xml
plist = plistlib.readPlist('your.plist')
plist['key'] = 0
plistlib.writePlist('your.plist')
# convert plist from xml to binary发布于 2010-08-09 22:07:07
使用plistlib来满足plist文件的所有需求。不需要转换。
https://stackoverflow.com/questions/3440750
复制相似问题