python读取Android permission文件


Posted in Python onNovember 01, 2013

今天用python解析一个文本文件,格式如下:

[
    {
        "Key":"android.permission.ACCESS_CHECKIN_PROPERTIES",
        "Title":"访问检入属性",
        "Memo":"允许对检入服务上传的属性进行读/写访问。普通应用程序不能使用此权限。",
        "Level":0
    },
    {
        "Key":"android.permission.ACCESS_COARSE_LOCATION",
        "Title":"大概位置",
        "Memo":"访问大概的位置源(例如蜂窝网络数据库)以确定手机的大概位置(如果可以)。恶意应用程序可借此确定您所处的大概位置。",
        "Level":1
    },
    {
        "Key":"android.permission.ACCESS_COARSE_LOCATION",
        "Title":"大概位置",
        "Memo":"访问大概的位置源(例如蜂窝网络数据库)以确定手机的大概位置(如果可以)。恶意应用程序可借此确定您所处的大概位置。",
        "Level":1
    }
]

开始采用open('filepath').readlines()的方法读取,这样读取的内容都存取到一个列表中,但是我要取每一个{}中的内容取不到,于是考虑用split(',')的方法分离开来,结果把每一个{}里面的内容也根据","分开了。后来请教了网友,说用json方式读取。于是采用以下方式:
#-*-encoding:utf-8-*-
import json
f = file(r'C:\Users\Tim\Desktop\test.json')
jsonobj = json.load(f)
#列表用序号来查询
print jsonobj[0]['Memo']
f.close

运行之后报以下错误:
ValueError: No JSON object could be decoded
重新将json文件以UTF8无BOM方式保存了一下,运行成功了。另外,对于读取json string可以用以下方式:
s = json.loads('{"name":"test", "type":{"name":"seq", "parameter":["1", "2"]}}')
print s
print s.keys()
print s["name"]
print s["type"]["name"]
print s["type"]["parameter"][1]

下面给出完整的读取permission文件的代码:
#-*-coding:utf8-*-
import json
import codecs
def getperinfo(inputper):
    f = file(r'C:\Users\Tim\Desktop\test.json')
    jsonobj = json.load(f)
    #print jsonobj[0]['Memo']
    for permission in jsonobj:
        #permission.values()获取词典的值
        if permission.values()[2] == inputper:
            print "permission name:%s\npermission info:%s" %(permission.values()[3],permission.values()[0])
    f.close
if __name__ == '__main__':
    #optparse采用预先定义好的选项来解析命令行参数,optparse默认就是解析命令行参数的。
    from optparse import OptionParser
    parser = OptionParser()
    parser.add_option("-p", "--permission", dest="permission",help="input permission")
    (options, args) = parser.parse_args()
    #options.permission为输入的permission
    getperinfo(options.permission)

执行示例如下:
python读取Android permission文件
Python 相关文章推荐
Python中的yield浅析
Jun 16 Python
Python编程中的异常处理教程
Aug 21 Python
详解Python中的__new__、__init__、__call__三个特殊方法
Jun 02 Python
python线程池threadpool使用篇
Apr 27 Python
Django对数据库进行添加与更新的例子
Jul 12 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
Oct 28 Python
python列表推导和生成器表达式知识点总结
Jan 10 Python
TensorFlow——Checkpoint为模型添加检查点的实例
Jan 21 Python
Python解释器及PyCharm工具安装过程
Feb 26 Python
keras在构建LSTM模型时对变长序列的处理操作
Jun 29 Python
给Django Admin添加验证码和多次登录尝试限制的实现
Jul 26 Python
Python实战之OpenCV实现猫脸检测
Jun 26 Python
Python读写Excel文件的实例
Nov 01 #Python
Python修改Excel数据的实例代码
Nov 01 #Python
Python获取apk文件URL地址实例
Nov 01 #Python
Python urllib模块urlopen()与urlretrieve()详解
Nov 01 #Python
Python ZipFile模块详解
Nov 01 #Python
python标准日志模块logging的使用方法
Nov 01 #Python
python类定义的讲解
Nov 01 #Python
You might like
JS与框架页的操作代码
2010/01/17 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
js 获取后台的字段 改变 checkbox的被选中的状态 代码
2013/06/05 Javascript
JavaScript包装对象使用介绍
2013/08/29 Javascript
Jquery中children与find之间的区别详细解析
2013/11/29 Javascript
jquery.validate.js插件使用经验记录
2014/07/02 Javascript
JS运动框架之分享侧边栏动画实例
2015/03/03 Javascript
浅谈Javascript的静态属性和原型属性
2015/05/07 Javascript
Javascript刷新窗口方法小结
2015/10/21 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
2016/09/27 Javascript
vuejs2.0实现一个简单的分页示例
2017/02/22 Javascript
ComboBox(下拉列表框)通过url加载调用远程数据的方法
2017/08/06 Javascript
vue移动端UI框架实现QQ侧边菜单组件
2018/03/09 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
微信小程序实现组件顶端固定或底端固定效果(不随滚动而滚动)
2020/04/09 Javascript
Nuxt的路由配置和参数传递方式
2020/11/06 Javascript
[29:10]Ti4 冒泡赛第二天 NEWBEE vs Titan 3
2014/07/15 DOTA
连接Python程序与MySQL的教程
2015/04/29 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
python处理数据,存进hive表的方法
2018/07/04 Python
python 上下文管理器及自定义原理解析
2019/11/19 Python
flask框架蓝图和子域名配置详解
2020/01/25 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
2020/03/06 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
Python 实现一个简单的web服务器
2021/01/03 Python
python中os.remove()用法及注意事项
2021/01/31 Python
HTML5使用ApplicationCache接口实现离线缓存技术解决离线难题
2012/12/13 HTML / CSS
手对手的教你用canvas画一个简单的海报的方法示例
2018/12/10 HTML / CSS
Harrods美国:英国最大的百货公司
2018/11/04 全球购物
普罗米修斯教学反思
2014/02/06 职场文书
2014个人四风对照检查材料思想汇报
2014/09/18 职场文书
个人查摆剖析材料
2014/10/04 职场文书
父亲节活动总结
2015/02/12 职场文书
聘任书格式及范文
2015/09/21 职场文书
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记