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判断IP地址合法性的方法实例
Mar 13 Python
python实现的文件同步服务器实例
Jun 02 Python
Python多线程、异步+多进程爬虫实现代码
Feb 17 Python
python对象及面向对象技术详解
Jul 19 Python
Python字符串和字典相关操作的实例详解
Sep 23 Python
matplotlib绘制动画代码示例
Jan 02 Python
详解Python3 基本数据类型
Apr 19 Python
基于python的socket实现单机五子棋到双人对战
Mar 24 Python
python列表返回重复数据的下标
Feb 10 Python
基于TensorBoard中graph模块图结构分析
Feb 15 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
Oct 12 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
Jan 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
删除html标签得到纯文本可处理嵌套的标签
2014/04/28 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
JQuery 操作Javascript对象和数组的工具函数小结
2010/01/22 Javascript
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
js操作checkbox遇到的问题解决
2013/06/29 Javascript
捕获键盘事件(且兼容各浏览器)
2013/07/03 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
2014/04/03 Javascript
jQuery自定义添加"$"与解决"$"冲突的方法
2015/01/19 Javascript
chrome浏览器当表单自动填充时如何去除浏览器自动添加的默认样式
2015/10/09 Javascript
javascript实现tab切换的两个实例
2015/11/05 Javascript
Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案
2017/02/23 Javascript
详解vue中computed 和 watch的异同
2017/06/30 Javascript
Node.js 的模块知识汇总
2017/08/16 Javascript
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
微信小程序单选框自定义赋值
2020/05/26 Javascript
vue项目或网页上实现文字转换成语音播放功能
2020/06/09 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
Element Breadcrumb 面包屑的使用方法
2020/07/26 Javascript
[00:32]2018DOTA2亚洲邀请赛Newbee出场
2018/04/03 DOTA
详解Python中的序列化与反序列化的使用
2015/06/30 Python
python动态网页批量爬取
2016/02/14 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
2016/07/11 Python
利用信号如何监控Django模型对象字段值的变化详解
2017/11/27 Python
对Python3.6 IDLE常用快捷键介绍
2018/07/16 Python
python3.6实现学生信息管理系统
2019/02/21 Python
用Python自动清理系统垃圾的实现
2021/01/18 Python
澳大利亚第一旅行车和房车配件店:Caravan RV Camping
2020/12/26 全球购物
班长岗位职责
2013/11/10 职场文书
营销总经理的岗位职责
2013/12/15 职场文书
如何写你的创业计划书
2014/01/07 职场文书
优秀求职信
2014/05/29 职场文书
债务纠纷委托书范本
2014/10/14 职场文书
中考百日冲刺决心书
2015/09/22 职场文书
详解GaussDB for MySQL性能优化
2021/05/18 MySQL
解决 Redis 秒杀超卖场景的高并发
2022/04/12 Redis