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抓取京东商城手机列表url实例代码
Dec 18 Python
python爬虫入门教程--利用requests构建知乎API(三)
May 25 Python
基于Python的XSS测试工具XSStrike使用方法
Jul 29 Python
python之从文件读取数据到list的实例讲解
Apr 19 Python
对python添加模块路径的三种方法总结
Oct 16 Python
python输入整条数据分割存入数组的方法
Nov 13 Python
Python写一个基于MD5的文件监听程序
Mar 11 Python
详解Python 中sys.stdin.readline()的用法
Sep 12 Python
pytorch实现用CNN和LSTM对文本进行分类方式
Jan 08 Python
django在保存图像的同时压缩图像示例代码详解
Feb 11 Python
Python手动或自动协程操作方法解析
Jun 22 Python
浅谈Python描述数据结构之KMP篇
Sep 06 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
Terran历史背景
2020/03/14 星际争霸
GD输出汉字的函数的分析
2006/10/09 PHP
PHP几个数学计算的内部函数学习整理
2011/08/06 PHP
无JS,完全php面向过程数据分页实现代码
2012/08/27 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
2013/06/24 PHP
PHP实现无限分类的实现方法
2016/11/14 PHP
PHP常用函数之base64图片上传功能详解
2019/10/21 PHP
分享10篇优秀的jQuery幻灯片制作教程及应用案例
2011/04/16 Javascript
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
jQuery实现html表格动态添加新行的方法
2015/05/28 Javascript
JavaScript事件 "事件对象"的注意要点
2016/01/14 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
jquery.masonry瀑布流效果
2017/05/25 jQuery
jQuery 1.9版本以上的浏览器判断方法代码分享
2017/08/28 jQuery
Node调用Java的示例代码
2017/09/20 Javascript
vue环境搭建简单教程
2017/11/07 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
webpack中的模式(mode)使用详解
2020/02/20 Javascript
Vue登录拦截 登录后继续跳转指定页面的操作
2020/08/04 Javascript
Python 不同对象比较大小示例探讨
2014/08/21 Python
Python中的__slots__示例详解
2017/07/06 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
通过字符串导入 Python 模块的方法详解
2019/10/27 Python
Django 404、500页面全局配置知识点详解
2020/03/10 Python
使用Python将Exception异常错误堆栈信息写入日志文件
2020/04/08 Python
Python中关于logging模块的学习笔记
2020/06/03 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
2020/06/04 Python
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
C#中有没有静态构造函数,如果有是做什么用的?
2016/06/04 面试题
linux面试题参考答案(4)
2014/09/21 面试题
电子商务专业求职信
2014/07/10 职场文书
村主任群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
CSS3 制作的彩虹按钮样式
2021/04/11 HTML / CSS
Html5大屏数据可视化开发的实现
2021/06/11 HTML / CSS
Python的property属性详细讲解
2022/04/11 Python
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL