python讀取Android permission文件
今天用python解析一個文本文件,格式如下:
[
{
"Key":"android.permission.ACCESS_CHECKIN_PROPERTIES",
"Title":"訪問檢入屬性",
"Memo":"允許對檢入服務(wù)上傳的屬性進(jìn)行讀/寫訪問。普通應(yīng)用程序不能使用此權(quán)限。",
"Level":0
},
{
"Key":"android.permission.ACCESS_COARSE_LOCATION",
"Title":"大概位置",
"Memo":"訪問大概的位置源(例如蜂窩網(wǎng)絡(luò)數(shù)據(jù)庫)以確定手機(jī)的大概位置(如果可以)。惡意應(yīng)用程序可借此確定您所處的大概位置。",
"Level":1
},
{
"Key":"android.permission.ACCESS_COARSE_LOCATION",
"Title":"大概位置",
"Memo":"訪問大概的位置源(例如蜂窩網(wǎng)絡(luò)數(shù)據(jù)庫)以確定手機(jī)的大概位置(如果可以)。惡意應(yīng)用程序可借此確定您所處的大概位置。",
"Level":1
}
]
開始采用open('filepath').readlines()的方法讀取,這樣讀取的內(nèi)容都存取到一個列表中,但是我要取每一個{}中的內(nèi)容取不到,于是考慮用split(',')的方法分離開來,結(jié)果把每一個{}里面的內(nèi)容也根據(jù)","分開了。后來請教了網(wǎng)友,說用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
運(yùn)行之后報(bào)以下錯誤:
ValueError: No JSON object could be decoded
重新將json文件以UTF8無BOM方式保存了一下,運(yùn)行成功了。另外,對于讀取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采用預(yù)先定義好的選項(xiàng)來解析命令行參數(shù),optparse默認(rèn)就是解析命令行參數(shù)的。
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)
執(zhí)行示例如下:

相關(guān)文章
PyQt5 QSerialPort子線程操作的實(shí)現(xiàn)
這篇文章主要介紹了PyQt5 QSerialPort子線程操作的實(shí)現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04Python的進(jìn)制轉(zhuǎn)換和ASCLL轉(zhuǎn)換你了解嗎
這篇文章主要為大家詳細(xì)介紹了Python的進(jìn)制轉(zhuǎn)換和ASCLL轉(zhuǎn)換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-02-02python計(jì)算階乘和的方法(1!+2!+3!+...+n!)
今天小編就為大家分享一篇python計(jì)算階乘和的方法(1!+2!+3!+...+n!),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02python 日志模塊 日志等級設(shè)置失效的解決方案
這篇文章主要介紹了python 日志模塊 日志等級設(shè)置失效的問題及解決方案,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05基于Python實(shí)現(xiàn)Word轉(zhuǎn)HTML
將Word轉(zhuǎn)換為HTML能將文檔內(nèi)容發(fā)布在網(wǎng)頁上,這樣,用戶就可以通過瀏覽器直接查看或閱讀文檔而無需安裝特定的軟件,下面我們就來學(xué)習(xí)一下Python是如何實(shí)現(xiàn)Word轉(zhuǎn)HTML的吧2023-12-12