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中常用的九种预处理方法分享
Sep 11 Python
PyCharm 常用快捷键和设置方法
Dec 20 Python
基于循环神经网络(RNN)的古诗生成器
Mar 26 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
May 25 Python
对python中for、if、while的区别与比较方法
Jun 25 Python
5款Python程序员高频使用开发工具推荐
Apr 10 Python
Python3.5以上版本lxml导入etree报错的解决方案
Jun 26 Python
python之mock模块基本使用方法详解
Jun 27 Python
python面试题之列表声明实例分析
Jul 08 Python
python通过txt文件批量安装依赖包的实现步骤
Aug 13 Python
Python+OpenCV实现实时眼动追踪的示例代码
Nov 11 Python
Opencv常见图像格式Data Type及代码实例
Nov 02 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操作XML作为数据库的类
2010/12/19 PHP
PHP+Apache+Mysql环境搭建教程
2016/08/01 PHP
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
浏览器的JavaScript引擎的识别方法
2013/10/20 Javascript
jQuery实现行文字链接提示效果的方法
2015/03/10 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
2016/08/10 Javascript
老生常谈JavaScript中的this关键字
2016/10/01 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
Vue+axios+WebApi+NPOI导出Excel文件实例方法
2019/06/05 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
[00:57]深扒TI7聊天轮盘语音出处5
2017/05/11 DOTA
[02:08]2018年度CS GO枪械皮肤设计大赛优秀作者-完美盛典
2018/12/16 DOTA
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
用python生成1000个txt文件的方法
2018/10/25 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
TensorFlow打印输出tensor的值
2020/04/19 Python
python 密码学示例——理解哈希(Hash)算法
2020/09/21 Python
Django ModelForm组件原理及用法详解
2020/10/12 Python
推荐一些比较有用的css3新属性
2014/11/11 HTML / CSS
使用CSS3美化HTML表单的技巧演示
2016/05/17 HTML / CSS
CSS3之transition实现下划线的示例代码
2018/05/30 HTML / CSS
英国护肤品购物网站:Beauty Expert
2016/08/19 全球购物
宝拉珍选官方旗舰店:2%水杨酸精华液,收缩毛孔粗大和祛痘
2018/07/01 全球购物
沙特阿拉伯排名第一的在线时尚购物应用程序:1Zillion
2020/08/08 全球购物
酒店销售主管岗位职责
2014/01/04 职场文书
大学生如何写自荐信
2014/01/08 职场文书
铁路个人事迹材料
2014/01/30 职场文书
小学感恩教育活动总结
2014/07/07 职场文书
承诺书范本
2015/01/21 职场文书
2015年采购员工作总结
2015/04/27 职场文书
Vue vee-validate插件的简单使用
2021/06/22 Vue.js
Python学习之包与模块详解
2022/03/19 Python
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA