Python讀取properties配置文件操作示例
本文實(shí)例講述了Python讀取properties配置文件操作。分享給大家供大家參考,具體如下:
工作需要將Java項(xiàng)目的邏輯改為python執(zhí)行,Java的很多配置文件都是.properties的,文件內(nèi)容的格式是“鍵.鍵.鍵。。。=值”的格式例如A.B.C=value1,D.F=value2等。并且“?!庇脕碜⒁?。python沒有專門處理properties格式的包,只有處理標(biāo)準(zhǔn)的ini格式的包。所以需要自己寫一個(gè)python程序來處理。不說了上程序。
這里參考前面一篇:http://www.dbjr.com.cn/article/137390.htm
主要在前文的基礎(chǔ)上,增加key.key.key=value的形式的支持
Util.py文件:
class Properties(object): def __init__(self, fileName): self.fileName = fileName self.properties = {} def __getDict(self,strName,dictName,value): if(strName.find('.')>0): k = strName.split('.')[0] dictName.setdefault(k,{}) return self.__getDict(strName[len(k)+1:],dictName[k],value) else: dictName[strName] = value return def getProperties(self): try: pro_file = open(self.fileName, 'Ur') for line in pro_file.readlines(): line = line.strip().replace('\n', '') if line.find("#")!=-1: line=line[0:line.find('#')] if line.find('=') > 0: strs = line.split('=') strs[1]= line[len(strs[0])+1:] self.__getDict(strs[0].strip(),self.properties,strs[1].strip()) except Exception, e: raise e else: pro_file.close() return self.properties
filename.properties文件:
a.b.d=v1 a.c=v2 d.e=v3 f=v4
測(cè)試文件text.py:
from Util import Properties dictProperties=Properties("filename.properties").getProperties() print dictProperties
輸出:
{'a': {'c': 'v2', 'b': {'d': 'v1'}}, 'd': {'e': 'v3'}, 'f': 'v4'}
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python函數(shù)使用技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- 簡(jiǎn)單文件操作python 修改文件指定行的方法
- Python 文件操作技巧(File operation) 實(shí)例代碼分析
- Python文件操作,open讀寫文件,追加文本內(nèi)容實(shí)例
- Python 文件操作實(shí)現(xiàn)代碼
- Python復(fù)制文件操作實(shí)例詳解
- Python常見文件操作的函數(shù)示例代碼
- Python實(shí)現(xiàn)的讀取/更改/寫入xml文件操作示例
- Python中shutil模塊的常用文件操作函數(shù)用法示例
- python讀寫文件操作示例程序
- 使用Python進(jìn)行穩(wěn)定可靠的文件操作詳解
- 詳解Python中的文件操作
- 使用Python對(duì)Csv文件操作實(shí)例代碼
- python 文件操作刪除某行的實(shí)例
- python with statement 進(jìn)行文件操作指南
- python解析xml文件操作實(shí)例
- Python 文件操作的詳解及實(shí)例
- Python文件操作類操作實(shí)例詳解
- Python文件操作方法詳解
相關(guān)文章
PyCharm上安裝Package的實(shí)現(xiàn)(以pandas為例)
這篇文章主要介紹了PyCharm上安裝Package的實(shí)現(xiàn)(以pandas為例),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09torch.utils.data.DataLoader與迭代器轉(zhuǎn)換操作
這篇文章主要介紹了torch.utils.data.DataLoader與迭代器轉(zhuǎn)換操作,文章內(nèi)容接受非常詳細(xì),對(duì)正在學(xué)習(xí)或工作的你有一定的幫助,需要的朋友可以參考一下2022-02-02Python隨機(jī)數(shù)random模塊使用指南
本文給大家分享的是Python隨機(jī)數(shù)random模塊的幾個(gè)常用的方法,非常的簡(jiǎn)單,小伙伴們喜歡的話,后續(xù)繼續(xù)深入探討2016-09-09Python實(shí)現(xiàn)多級(jí)目錄壓縮與解壓文件的方法
這篇文章主要介紹了Python實(shí)現(xiàn)多級(jí)目錄壓縮與解壓文件的方法,涉及Python針對(duì)文件路徑的遍歷、判斷以及文件壓縮、解壓縮等相關(guān)操作技巧,需要的朋友可以參考下2018-09-09使用OpenCV實(shí)現(xiàn)道路車輛計(jì)數(shù)的使用方法
這篇文章主要介紹了使用OpenCV實(shí)現(xiàn)道路車輛計(jì)數(shù)的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Python基本類型的連接組合和互相轉(zhuǎn)換方式(13種)
這篇文章主要介紹了Python中基本類型的連接組合和互相轉(zhuǎn)換13種方式,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12一文詳解Python中的行為驗(yàn)證碼驗(yàn)證功能
最近在開發(fā)行為驗(yàn)證碼,經(jīng)常觸及到關(guān)于驗(yàn)證類型的相關(guān)內(nèi)容。但使用起來不太熟練,所以本文就來總結(jié)一下對(duì)行為驗(yàn)證碼驗(yàn)證類型的理解2023-03-03