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中break语句的用法
May 14 Python
python使用super()出现错误解决办法
Aug 14 Python
Python判断两个对象相等的原理
Dec 12 Python
Python实现的端口扫描功能示例
Apr 08 Python
python3下载抖音视频的完整代码
Jun 05 Python
Python容器使用的5个技巧和2个误区总结
Sep 26 Python
Spring实战之使用util:命名空间简化配置操作示例
Dec 09 Python
windows下Pycharm安装opencv的多种方法
Mar 05 Python
Python selenium爬虫实现定时任务过程解析
Jun 08 Python
Python如何使用ConfigParser读取配置文件
Nov 12 Python
Python项目打包成二进制的方法
Dec 30 Python
Python 居然可以在 Excel 中画画你知道吗
Feb 15 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+mysql数据库实现无限分类的方法
2014/12/12 PHP
php实现的简单数据库操作Model类
2016/11/16 PHP
isArray()函数(JavaScript中对象类型判断的几种方法)
2009/11/26 Javascript
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
JavaScript 高级篇之函数 (四)
2012/04/07 Javascript
javascript针对DOM的应用实例(一)
2012/04/15 Javascript
jquery遍历之parent()和parents()的区别及parentsUntil()方法详解
2013/12/02 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
2015/04/06 Javascript
input 禁止输入特殊字符的四种实现方式
2016/08/24 Javascript
判断数组的最佳方法(推荐)
2016/10/11 Javascript
手机端实现Bootstrap简单图片轮播效果
2016/10/13 Javascript
JQuery 动态生成Table表格实例代码
2016/12/02 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
js监听html页面的上下滚动事件方法
2018/09/11 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
2018/10/26 Javascript
通过循环优化 JavaScript 程序
2019/06/24 Javascript
js实现简单的无缝轮播效果
2020/09/05 Javascript
[44:41]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python 中的列表解析和生成表达式
2011/03/10 Python
python类参数self使用示例
2014/02/17 Python
一波神奇的Python语句、函数与方法的使用技巧总结
2015/12/08 Python
Python匹配中文的正则表达式
2016/05/11 Python
【python】matplotlib动态显示详解
2019/04/11 Python
Django打印出在数据库中执行的语句问题
2019/07/25 Python
Python实现手机号自动判断男女性别(实例解析)
2019/12/22 Python
TensorFlow keras卷积神经网络 添加L2正则化方式
2020/05/22 Python
Java如何基于wsimport调用wcf接口
2020/06/17 Python
使用CSS3的appearance属性改变任何元素的浏览器默认风格
2012/12/24 HTML / CSS
HTML5+CSS设置浮动却没有动反而在中间且错行的问题
2020/05/26 HTML / CSS
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
尤为Wconcept中国官网:韩国设计师品牌服饰
2019/01/10 全球购物
英语专业应届生求职信范文
2013/11/15 职场文书
公司开除员工通知
2015/04/22 职场文书
家长必看:义务教育,不得以面试 评测等名义选拔学生
2019/07/09 职场文书
MYSQL常用函数介绍
2022/05/05 MySQL