Python讀取properties配置文件操作示例
本文實例講述了Python讀取properties配置文件操作。分享給大家供大家參考,具體如下:
工作需要將Java項目的邏輯改為python執(zhí)行,Java的很多配置文件都是.properties的,文件內(nèi)容的格式是“鍵.鍵.鍵。。。=值”的格式例如A.B.C=value1,D.F=value2等。并且“?!庇脕碜⒁?。python沒有專門處理properties格式的包,只有處理標(biāo)準(zhǔn)的ini格式的包。所以需要自己寫一個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
測試文件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īng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
- 簡單文件操作python 修改文件指定行的方法
- Python 文件操作技巧(File operation) 實例代碼分析
- Python文件操作,open讀寫文件,追加文本內(nèi)容實例
- Python 文件操作實現(xiàn)代碼
- Python復(fù)制文件操作實例詳解
- Python常見文件操作的函數(shù)示例代碼
- Python實現(xiàn)的讀取/更改/寫入xml文件操作示例
- Python中shutil模塊的常用文件操作函數(shù)用法示例
- python讀寫文件操作示例程序
- 使用Python進行穩(wěn)定可靠的文件操作詳解
- 詳解Python中的文件操作
- 使用Python對Csv文件操作實例代碼
- python 文件操作刪除某行的實例
- python with statement 進行文件操作指南
- python解析xml文件操作實例
- Python 文件操作的詳解及實例
- Python文件操作類操作實例詳解
- Python文件操作方法詳解
相關(guān)文章
PyCharm上安裝Package的實現(xiàn)(以pandas為例)
這篇文章主要介紹了PyCharm上安裝Package的實現(xiàn)(以pandas為例),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09torch.utils.data.DataLoader與迭代器轉(zhuǎn)換操作
這篇文章主要介紹了torch.utils.data.DataLoader與迭代器轉(zhuǎn)換操作,文章內(nèi)容接受非常詳細,對正在學(xué)習(xí)或工作的你有一定的幫助,需要的朋友可以參考一下2022-02-02使用OpenCV實現(xiàn)道路車輛計數(shù)的使用方法
這篇文章主要介紹了使用OpenCV實現(xiàn)道路車輛計數(shù)的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Python基本類型的連接組合和互相轉(zhuǎn)換方式(13種)
這篇文章主要介紹了Python中基本類型的連接組合和互相轉(zhuǎn)換13種方式,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12