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自动安装pip
Apr 24 Python
python生成式的send()方法(详解)
May 08 Python
python pandas修改列属性的方法详解
Jun 09 Python
python如何实现代码检查
Jun 28 Python
python如何给字典的键对应的值为字典项的字典赋值
Jul 05 Python
应用OpenCV和Python进行SIFT算法的实现详解
Aug 21 Python
python中必要的名词解释
Nov 20 Python
Python yield的用法实例分析
Mar 06 Python
python基于爬虫+django,打造个性化API接口
Jan 21 Python
Python 使用dict实现switch的操作
Apr 07 Python
Python控制台输出俄罗斯方块移动和旋转功能
Apr 18 Python
Python如何快速找到多个字典中的公共键(key)
Apr 29 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
PHP音乐采集(部分代码)
2007/02/14 PHP
PHP Stream_*系列函数
2010/08/01 PHP
php实现mysql封装类示例
2014/05/07 PHP
php的ZipArchive类用法实例
2014/10/20 PHP
PHP中调用C/C++制作的动态链接库的教程
2016/03/10 PHP
php PDO实现的事务回滚示例
2017/03/23 PHP
Avengerls vs Newbee BO3 第三场2.18
2021/03/10 DOTA
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
javascript fullscreen全屏实现代码
2009/04/09 Javascript
jquery中输入验证中一个不错的效果
2010/08/21 Javascript
巧用replace将文字表情替换为图片
2014/04/17 Javascript
javascript获取select标签选中的值
2016/06/04 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成"...")
2016/11/28 Javascript
基于JavaScript实现全选、不选和反选效果
2017/02/15 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
Python中使用SAX解析xml实例
2014/11/21 Python
python OpenCV学习笔记实现二维直方图
2018/02/08 Python
python学生信息管理系统
2018/03/13 Python
Python中的Django基本命令实例详解
2018/07/15 Python
Python 离线工作环境搭建的方法步骤
2019/07/29 Python
关于Python中的向量相加和numpy中的向量相加效率对比
2019/08/26 Python
Java中实现多态的机制是什么?
2014/12/07 面试题
如何删除一个表里面的重复行
2013/07/13 面试题
英文简历中的自荐信范文
2013/12/14 职场文书
采购主管岗位职责
2014/02/01 职场文书
保密承诺书范文
2014/03/27 职场文书
网络文明传播志愿者活动方案
2014/08/20 职场文书
乡镇防汛工作汇报
2014/10/28 职场文书
三人合伙协议书范本
2014/10/29 职场文书
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS
python ansible自动化运维工具执行流程
2021/06/24 Python