Python实现加载及解析properties配置文件的方法


Posted in Python onMarch 29, 2018

本文实例讲述了Python实现加载及解析properties配置文件的方法。分享给大家供大家参考,具体如下:

这里参考前面一篇:https://3water.com/article/137393.htm

我们都是在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文件中,方便管理。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python生成随机验证码(中文验证码)示例
Apr 03 Python
python用10行代码实现对黄色图片的检测功能
Aug 10 Python
详解Python中的array数组模块相关使用
Jul 05 Python
python使用opencv进行人脸识别
Apr 07 Python
python批量替换页眉页脚实例代码
Jan 22 Python
详解Python中where()函数的用法
Mar 27 Python
Python统计单词出现的次数
Apr 04 Python
Python文本统计功能之西游记用字统计操作示例
May 07 Python
Pycharm中切换pytorch的环境和配置的教程详解
Mar 13 Python
PyTorch的torch.cat用法
Jun 28 Python
属性与 @property 方法让你的python更高效
Sep 21 Python
appium+python自动化配置(adk、jdk、node.js)
Nov 17 Python
Python读取properties配置文件操作示例
Mar 29 #Python
Python实现读取Properties配置文件的方法
Mar 29 #Python
Java实现的执行python脚本工具类示例【使用jython.jar】
Mar 29 #Python
教你使用python画一朵花送女朋友
Mar 29 #Python
使用python生成目录树
Mar 29 #Python
python实现树形打印目录结构
Mar 29 #Python
Python基础教程之利用期物处理并发
Mar 29 #Python
You might like
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
PHP连接及操作PostgreSQL数据库的方法详解
2019/01/30 PHP
jquery 单击li防止重复加载的实现代码
2010/12/24 Javascript
基于jquery的一行代码轻松实现拖动效果
2010/12/28 Javascript
JS中令人发指的valueOf方法介绍
2013/02/22 Javascript
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
浅谈Javascript如何实现匀速运动
2014/12/19 Javascript
Javascript中使用parseInt函数需要注意的问题
2015/04/02 Javascript
程序员必知35个jQuery 代码片段
2015/11/05 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
2017/01/13 Javascript
JavaScript实现时钟滴答声效果
2017/01/29 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
利用PM2部署node.js项目的方法教程
2017/05/10 Javascript
详解如何构建Angular项目目录结构
2017/07/13 Javascript
iview日期控件,双向绑定日期格式的方法
2018/03/15 Javascript
使用Node搭建reactSSR服务端渲染架构
2018/08/30 Javascript
使用pm2自动化部署node项目的方法步骤
2019/01/28 Javascript
Vue根据条件添加click事件的方式
2019/11/09 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
2020/10/29 Javascript
[17:45]DOTA2 HEROES教学视频教你分分钟做大人-军团指挥官
2014/06/11 DOTA
[55:54]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python实现抓取页面上链接的简单爬虫分享
2015/01/21 Python
python实现实时监控文件的方法
2016/08/26 Python
Python中装饰器学习总结
2018/02/10 Python
使用Pyhton 分析酒店针孔摄像头
2020/03/04 Python
python3 使用traceback定位异常实例
2020/03/09 Python
Alba Moda德国网上商店:意大利时尚女装销售
2016/11/14 全球购物
我的求职计划书
2014/01/10 职场文书
六查六看剖析材料
2014/02/15 职场文书
小学教师师德承诺书
2014/05/23 职场文书
关于国庆节的演讲稿
2014/09/05 职场文书
民主评议党员工作总结
2014/10/20 职场文书
兼职安全员岗位职责
2015/02/15 职场文书
2019年亲子运动会口号
2019/10/11 职场文书
PyCharm 安装与使用配置教程(windows,mac通用)
2021/05/12 Python