编程语言
首页 > 编程语言> > python读取Java配置文件properties配置文件

python读取Java配置文件properties配置文件

作者:互联网

python没有专门处理properties格式的包,只有处理标准的ini格式的包。所以需要自己写一个python程序来处理

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'}

标签:Java,配置文件,python,self,find,strs,strName,line,properties
来源: https://blog.csdn.net/zhaojikun521521/article/details/91343612