python 修改文件属性 macos_Mac上使用Python修改.Plist文件

起因

今天遇到一个需要批量处理写入.Plist文件的需要,一开始想直接手动写入,考虑的内容比较多,手写估计要1个小时,于是想是不是可以用程序员的思维去解决这个问题,怎么解决,写个脚本呗!程序员的天职应该就是偷懒,不会偷懒的程序员不是好程序员。其实之前已经有写过一个类似的脚本,是使用oc写的。使用oc比较自然直接,语言也比较熟悉,但是感觉这么一个小问题,还要创建一个iOS工程太麻烦,而且拷贝文件也很不方便,需要到模拟器的沙盒里面去找文件。

那用啥呢?首先我想到的便是最近火的不要不要的脚本语言Python,Python非常简单,有很多语法糖,可以快速的构建出强大的功能。

Code

#!/usr/bin/env python

#coding=utf-8

import os,sys

reload(sys)

sys.setdefaultencoding('utf-8')

base = '/Users/XiaoYao/Desktop/'

u = u"抱抱"

for index in range(25):

os.system('/usr/libexec/PlistBuddy -c "Set :%s:%d hug_0%02d" BigGiftList.plist'%(u, index, index+1))

心得

编码问题

因为要使用中文字符串,必须在开头加上

#coding=utf-8

否则会报错,

并且需要重载系统默认编码

import os,sys

reload(sys)

sys.setdefaultencoding('utf-8')

PlistBuddy

PlistBuddy是Mac自带的专门解析plist的小工具

打印plist

/usr/libexec/PlistBuddy -c "print" info.plist

添加字段

/usr/libexec/PlistBuddy -c 'Add :Version string 1.0' info.plist

先添加key值

/usr/libexec/PlistBuddy -c 'Add :Application array' info.plist

# 添加value值

yans67deMacBook-Pro:needfiles huangyg$ /usr/libexec/PlistBuddy -c 'Add :Application: string app1' info.plist

yans67deMacBook-Pro:needfiles huangyg$ /usr/libexec/PlistBuddy -c 'Add :Application: string app2' info.plist

yans67deMacBook-Pro:needfiles huangyg$ /usr/libexec/PlistBuddy -c 'Add :Application: string app3' info.plist

删除

/usr/libexec/PlistBuddy -c 'Delete :Version' info.plist

修改

/usr/libexec/PlistBuddy -c 'Set :Application:1 string "thi is app1"' info.plist

合并

# 将A.plist 合并到 B.plist中

/usr/libexec/PlistBuddy -c 'Merge A.plist' B.plist

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值