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程序设计有所帮助。