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中SOAP项目的介绍及其在web开发中的应用
Apr 14 Python
在Python的Flask框架下收发电子邮件的教程
Apr 21 Python
Python2.x版本中cmp()方法的使用教程
May 14 Python
基于Python os模块常用命令介绍
Nov 03 Python
分数霸榜! python助你微信跳一跳拿高分
Jan 08 Python
Python实现字典(dict)的迭代操作示例
Jun 05 Python
使用python爬虫获取黄金价格的核心代码
Jun 13 Python
为什么你还不懂得怎么使用Python协程
May 13 Python
Python面向对象编程基础实例分析
Jan 17 Python
python爬虫基础知识点整理
Jun 02 Python
pycharm使用技巧之自动调整代码格式总结
Nov 04 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
Nov 28 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
php5.5新数组函数array_column使用
2013/07/08 PHP
Nginx下配置codeigniter框架方法
2015/04/07 PHP
PHP的PDO连接讲解
2019/01/24 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
php报错502badgateway解决方法
2019/10/11 PHP
JavaScript随机排序(随即出牌)
2010/09/17 Javascript
Prototype源码浅析 Enumerable部分(二)
2012/01/18 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
js实现日期级联效果
2014/01/23 Javascript
利用Jquery实现可多选的下拉框
2014/02/21 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
2014/06/24 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
老生常谈 js中this的指向
2016/06/30 Javascript
微信小程序 video组件详解
2016/10/25 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
2017/01/19 Javascript
基于vue实现多引擎搜索及关键字提示
2017/03/16 Javascript
通过源码分析Vue的双向数据绑定详解
2017/09/24 Javascript
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
2018/07/31 NodeJs
vue组件间通信六种方式(总结篇)
2019/05/15 Javascript
vue实现路由懒加载及组件懒加载的方式
2019/06/11 Javascript
layui使用form表单实现post请求页面跳转的方法
2019/09/14 Javascript
[01:30]DOTA2上海特锦赛现场采访 Loda倾情献唱
2016/03/25 DOTA
[50:02]完美世界DOTA2联赛循环赛 Magma vs IO BO2第一场 11.01
2020/11/02 DOTA
Django中对数据查询结果进行排序的方法
2015/07/17 Python
基于Python的接口测试框架实例
2016/11/04 Python
Python整型运算之布尔型、标准整型、长整型操作示例
2017/07/21 Python
神经网络(BP)算法Python实现及应用
2018/04/16 Python
python学习基础之循环import及import过程
2018/04/22 Python
selenium+python 去除启动的黑色cmd窗口方法
2018/05/22 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
四种会话跟踪技术
2015/05/20 面试题
会计工作心得体会
2014/01/13 职场文书
四风专项整治工作情况汇报
2014/10/28 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
婚育证明样本
2015/06/16 职场文书
Python语言中的数据类型-序列
2022/02/24 Python