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迭代器和生成器介绍
Mar 06 Python
将Django框架和遗留的Web应用集成的方法
Jul 24 Python
django之常用命令详解
Jun 30 Python
python3中的md5加密实例
May 29 Python
Python3.4 splinter(模拟填写表单)使用方法
Oct 13 Python
利用python提取wav文件的mfcc方法
Jan 09 Python
python实现简单颜色识别程序
Feb 19 Python
如何将PySpark导入Python的放实现(2种)
Apr 26 Python
基于python计算并显示日间、星期客流高峰
May 07 Python
浅谈keras 的抽象后端(from keras import backend as K)
Jun 16 Python
零基础学python应该从哪里入手
Aug 11 Python
python调用百度AI接口实现人流量统计
Feb 03 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
java EJB 加密与解密原理的一个例子
2008/01/11 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
PHP整合PayPal支付
2015/06/11 PHP
PHP处理二进制数据的实现方法
2016/06/13 PHP
PHP中OpenSSL加密问题整理
2017/12/14 PHP
PHP xpath()函数讲解
2019/02/11 PHP
ASP.NET jQuery 实例16 通过控件CustomValidator验证RadioButtonList
2012/02/03 Javascript
ExtJS4给Combobox设置列表中的默认值示例
2014/05/02 Javascript
JavaScript不刷新实现浏览器的前进后退功能
2014/11/05 Javascript
jQuery实现复选框成对选择及对应取消的方法
2015/03/03 Javascript
浅析Jquery操作select
2016/12/13 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
2019/05/09 Javascript
layui使用templet格式化表格数据的方法
2019/09/16 Javascript
JavaScript实现背景自动切换小案例
2019/09/27 Javascript
Vue程序化的事件监听器(实例方案详解)
2020/01/07 Javascript
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
python使用urllib2模块获取gravatar头像实例
2013/12/18 Python
python使用socket远程连接错误处理方法
2015/04/29 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
matplotlib.pyplot绘图显示控制方法
2019/01/15 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
Python如何使用正则表达式爬取京东商品信息
2020/06/01 Python
浅谈Django前端后端值传递问题
2020/07/15 Python
CSS3 绘制BMW logo实的现代码
2013/04/25 HTML / CSS
建筑设计所实习生自我鉴定
2013/09/25 职场文书
新闻编辑专业毕业自荐书范文
2014/02/05 职场文书
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
美术指导助理求职信
2014/04/20 职场文书
2014年教研活动总结范文
2014/04/26 职场文书
2014中考励志标语
2014/06/05 职场文书
2014年小学工作总结
2014/11/26 职场文书
2015年班级工作总结范文
2015/04/03 职场文书
2015年派出所工作总结
2015/04/24 职场文书
小时代观后感
2015/06/10 职场文书
Nginx+Tomcat负载均衡集群的实现示例
2021/10/24 Servers
如何解决php-fpm启动不了问题
2021/11/17 PHP