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 相关文章推荐
python3批量删除豆瓣分组下的好友的实现代码
Jun 07 Python
python学习笔记之列表(list)与元组(tuple)详解
Nov 23 Python
python爬虫爬取快手视频多线程下载功能
Feb 28 Python
Python编程中NotImplementedError的使用方法
Apr 21 Python
python批量替换多文件字符串问题详解
Apr 22 Python
Python常见内置高效率函数用法示例
Jul 31 Python
Python unittest单元测试框架总结
Sep 08 Python
Python3 读、写Excel文件的操作方法
Oct 20 Python
Django框架模板的使用方法示例
May 25 Python
python3实现带多张图片、附件的邮件发送
Aug 10 Python
详解python列表(list)的使用技巧及高级操作
Aug 15 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 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
请离开include_once和require_once
2013/07/18 PHP
PHP实现合并两个排序链表的方法
2018/01/19 PHP
区分JS中的undefined,null,"",0和false
2007/03/08 Javascript
jQuery MD5加密实现代码
2010/03/15 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
js下用eval生成JSON对象
2010/09/17 Javascript
jQuery 1.8 Release版本发布了
2012/08/14 Javascript
如何制作浮动广告 JavaScript制作浮动广告代码
2012/12/30 Javascript
如何使用jQUery获取选中radio对应的值(一句代码)
2013/06/03 Javascript
JS验证身份证有效性示例
2013/10/11 Javascript
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
jquery学习笔记之无new构建详解
2017/12/07 jQuery
解决Vue不能检测数组或对象变动的问题
2018/02/24 Javascript
微信小程序利用swiper+css实现购物车商品删除功能
2019/03/06 Javascript
vue-week-picker实现支持按周切换的日历
2019/06/26 Javascript
详解package.json版本号规则
2019/08/01 Javascript
Vue调用后端java接口的实例代码
2019/10/28 Javascript
如何使用七牛Python SDK写一个同步脚本及使用教程
2015/08/23 Python
python实现五子棋小游戏
2020/03/25 Python
Python3解释器知识点总结
2019/02/19 Python
Flask框架路由和视图用法实例分析
2019/11/07 Python
django框架auth模块用法实例详解
2019/12/10 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
python对批量WAV音频进行等长分割的方法实现
2020/09/25 Python
Wojas罗马尼亚网站:波兰皮鞋品牌
2018/11/01 全球购物
电子商务应届生求职信
2013/11/16 职场文书
违反课堂纪律检讨书
2014/01/19 职场文书
英语生日邀请函
2014/01/23 职场文书
爱的奉献演讲稿
2014/09/10 职场文书
法人授权委托书样本
2014/09/19 职场文书
孙振耀退休感言
2015/08/01 职场文书
信息技术国培研修日志
2015/11/13 职场文书
技术入股协议书
2016/03/22 职场文书
VUE解决跨域问题Access to XMLHttpRequest at
2022/05/06 Vue.js