python读取Android permission文件
admin
2023-07-31 02:02:21
0

今天用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)

执行示例如下:

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
Prometheus+Graf... 一,Prometheus概述 1,什么是Prometheus?Prometheus是最初在Sound...
python绘图库Matplo... 本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是pyt...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...