美文网首页
python读取properties文件

python读取properties文件

作者: kacen | 来源:发表于2019-08-09 15:23 被阅读0次

    环境: python2.7
    操作系统: linux
    首先咋们要准备一个properties脚本,这个到时候是需要引用的.但是提醒大家版本一定要和我的一致,要么很难受的,除非你写了一个封装的脚本可以通用.

    1.先新建一个PropertiesUtil文件,里面放入你要使用的类,记住你的类名待会要用

    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
    

    2.新建一个新的.py文件,开始获取你的信息,当然要有个.properties的文件,具体内容如下

    properties文件内容

    DB.username=123456
    DB.password=123321
    

    .py文件

    #这里的parent_dir是你当前的路经,使用sys.path将该路径下导入临时的.py文件加入到扫描范围内,这样就可以引入自己的其他类
    sys.path.append("parent_dir")
    #这里就是导入,from ***(你的文件名,不带后缀) import ***(这里是你的类名)
    from PropertiesUtil import Properties
    #read properties这里路径按照实际路径来
    currentProperties = Properties(parent_dir+"/config/test.properties").getProperties()
    currentport = currentProperties['server']['port']
    #获取全部的properties文件信息
    print currentProperties
    #获取该字段下的所有信息
    print currentProperties['DB']
    #获取具体的字段信息
    print currentProperties['DB']['username']
    

    以上代码是通用的,大家可以直接放入linux的py下跑起,记得改parent_dir和properties文件路径就好了
    本文章结束,是不是又学到了什么,一点一点来,总会有收获!

    相关文章

      网友评论

          本文标题:python读取properties文件

          本文链接:https://www.haomeiwen.com/subject/tjkhjctx.html