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实现把xml或xsl转换为html格式
Apr 08 Python
详细解读Python中解析XML数据的方法
Oct 15 Python
windows上安装Anaconda和python的教程详解
Mar 28 Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
Jul 04 Python
Python for循环及基础用法详解
Nov 08 Python
Python序列化与反序列化pickle用法实例
Nov 11 Python
python小项目之五子棋游戏
Dec 26 Python
python使用python-pptx删除ppt某页实例
Feb 14 Python
Python切割图片成九宫格的示例代码
Mar 10 Python
详解pycharm2020.1.1专业版安装指南(推荐)
Aug 07 Python
详解Anaconda安装tensorflow报错问题解决方法
Nov 01 Python
Python关于OS文件目录处理的实例分享
May 23 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 实现代码复用的一个方法 traits新特性
2015/02/22 PHP
PHP Smarty模版简单使用方法
2016/03/30 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
js验证电话号码与手机支持+86的正则表达式
2014/01/23 Javascript
js星星评分效果
2014/07/24 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
jfreechart插件将数据展示成饼状图、柱状图和折线图
2015/04/13 Javascript
jquery滚动到顶部底部代码
2015/04/20 Javascript
分享javascript计算时间差的示例代码
2020/03/19 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
2017/03/07 Javascript
jQuery编写textarea输入字数限制代码
2017/03/23 jQuery
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
2018/01/23 Javascript
JavaScript常见JSON操作实例分析
2018/08/08 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
2019/02/01 Javascript
Selenium执行Javascript脚本参数及返回值过程详解
2020/04/01 Javascript
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
python strip()函数 介绍
2013/05/24 Python
Python2和Python3中print的用法示例总结
2017/10/25 Python
Python实现爬虫爬取NBA数据功能示例
2018/05/28 Python
python os.listdir按文件存取时间顺序列出目录的实例
2018/10/21 Python
python实现连连看辅助之图像识别延伸
2019/07/17 Python
Python中list的交、并、差集获取方法示例
2019/08/01 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
2020/02/05 Python
python画图常规设置方式
2020/03/05 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
css3发光搜索表单分享
2014/04/11 HTML / CSS
Smallable英国家庭概念店:设计师童装及家居装饰
2017/07/05 全球购物
希腊香水和化妆品购物网站:Parfimo.gr
2019/10/03 全球购物
接口的多继承会带来哪些问题
2015/08/17 面试题
酒店开业庆典策划方案
2014/05/28 职场文书
经典团队口号大全
2014/06/21 职场文书
工作检讨书范文
2015/01/23 职场文书
大学生年度个人总结
2015/02/15 职场文书
医生行业员工的辞职信
2019/06/24 职场文书
为Centos安装指定版本的Docker
2022/04/01 Servers