Python读取properties配置文件操作示例
本文实例讲述了Python读取properties配置文件操作。分享给大家供大家参考,具体如下:
工作需要将Java项目的逻辑改为python执行,Java的很多配置文件都是.properties的,文件内容的格式是“键.键.键。。。=值”的格式例如A.B.C=value1,D.F=value2等。并且“#”用来注视。python没有专门处理properties格式的包,只有处理标准的ini格式的包。所以需要自己写一个python程序来处理。不说了上程序。
这里参考前面一篇:https://www.nhooo.com/article/137390.htm
主要在前文的基础上,增加key.key.key=value的形式的支持
Util.py文件:
classProperties(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,{}) returnself.__getDict(strName[len(k)+1:],dictName[k],value) else: dictName[strName]=value return defgetProperties(self): try: pro_file=open(self.fileName,'Ur') forlineinpro_file.readlines(): line=line.strip().replace('\n','') ifline.find("#")!=-1: line=line[0:line.find('#')] ifline.find('=')>0: strs=line.split('=') strs[1]=line[len(strs[0])+1:] self.__getDict(strs[0].strip(),self.properties,strs[1].strip()) exceptException,e: raisee else: pro_file.close() returnself.properties
filename.properties文件:
a.b.d=v1 a.c=v2 d.e=v3 f=v4
测试文件text.py:
fromUtilimportProperties dictProperties=Properties("filename.properties").getProperties() printdictProperties
输出:
{'a':{'c':'v2','b':{'d':'v1'}},'d':{'e':'v3'},'f':'v4'}
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。