首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python加载properties配置

python加载properties配置

作者头像
py3study
发布2020-01-06 14:28:40
1.1K0
发布2020-01-06 14:28:40
举报
文章被收录于专栏:python3python3

参考来源:http://blog.csdn.net/bobzhangshaobo/article/details/47617107 我们都是在java里面遇到要解析properties文件,在python中基本没有遇到这中情况,今天用python跑深度学习的时候,发现有些参数可以放在一个global.properties全局文件中,这样使用的时候更加方便。原理都是加载文件,然后用line方法进行解析判断”=”,自己从网上找到一个工具类,记录一下。

工具类 PropertiesUtiil.py

# -*- coding:utf-8 -*-
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  

通过上面的代码就可以解析了properties文件了。新建一个文件

global.properties 文件

a.name.last=jie
b.name.first=shi
#b.name=shijie

测试 test.py

from PropertiesUtil import Properties
dictProperties=Properties("global.properties").getProperties()
print dictProperties

控制台打印:

/usr/bin/python2.7 /home/tengxing/rude-carnie/test.py
{'a': {'name': {'last': 'jie'}}, 'b': {'name': {'first': 'shi'}}}

Process finished with exit code 0

我感觉还是挺方便的,就对做深度学习来说吧,把模型的的位置,训练数据放在一个global.properties文件中,方便管理。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 工具类 PropertiesUtiil.py
  • global.properties 文件
  • 测试 test.py
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档