python讀取Android permission文件
今天用python解析一個文本文件,格式如下:
[
{
"Key":"android.permission.ACCESS_CHECKIN_PROPERTIES",
"Title":"訪問檢入屬性",
"Memo":"允許對檢入服務上傳的屬性進行讀/寫訪問。普通應用程序不能使用此權限。",
"Level":0
},
{
"Key":"android.permission.ACCESS_COARSE_LOCATION",
"Title":"大概位置",
"Memo":"訪問大概的位置源(例如蜂窩網(wǎng)絡數(shù)據(jù)庫)以確定手機的大概位置(如果可以)。惡意應用程序可借此確定您所處的大概位置。",
"Level":1
},
{
"Key":"android.permission.ACCESS_COARSE_LOCATION",
"Title":"大概位置",
"Memo":"訪問大概的位置源(例如蜂窩網(wǎng)絡數(shù)據(jù)庫)以確定手機的大概位置(如果可以)。惡意應用程序可借此確定您所處的大概位置。",
"Level":1
}
]
開始采用open('filepath').readlines()的方法讀取,這樣讀取的內(nèi)容都存取到一個列表中,但是我要取每一個{}中的內(nèi)容取不到,于是考慮用split(',')的方法分離開來,結果把每一個{}里面的內(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
運行之后報以下錯誤:
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采用預先定義好的選項來解析命令行參數(shù),optparse默認就是解析命令行參數(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í)行示例如下:
相關文章
python代碼打印100-999之間的回文數(shù)示例
今天小編就為大家分享一篇python代碼打印100-999之間的回文數(shù)示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
Python之time模塊的時間戳,時間字符串格式化與轉換方法(13位時間戳)
今天小編就為大家分享一篇Python之time模塊的時間戳,時間字符串格式化與轉換方法(13位時間戳),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
解決Jupyter Notebook “signal only works&nb
這篇文章主要介紹了解決Jupyter Notebook “signal only works in main thread“問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09

