Python读取properties配置文件操作示例


Posted in Python onMarch 29, 2018

本文实例讲述了Python读取properties配置文件操作。分享给大家供大家参考,具体如下:

工作需要将Java项目的逻辑改为python执行,Java的很多配置文件都是.properties的,文件内容的格式是“键.键.键。。。=值”的格式例如A.B.C=value1D.F=value2等。并且“#”用来注视。python没有专门处理properties格式的包,只有处理标准的ini格式的包。所以需要自己写一个python程序来处理。不说了上程序。

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

主要在前文的基础上,增加key.key.key=value的形式的支持

Util.py文件:

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

filename.properties文件:

a.b.d=v1
a.c=v2
d.e=v3
f=v4

测试文件text.py:

from Util import Properties
dictProperties=Properties("filename.properties").getProperties()
print dictProperties

输出:

{'a': {'c': 'v2', 'b': {'d': 'v1'}}, 'd': {'e': 'v3'}, 'f': 'v4'}

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

Python 相关文章推荐
python通过openpyxl生成Excel文件的方法
May 12 Python
python类继承用法实例分析
May 27 Python
python操作字典类型的常用方法(推荐)
May 16 Python
Python进阶之尾递归的用法实例
Jan 31 Python
Pandas过滤dataframe中包含特定字符串的数据方法
Nov 07 Python
利用Python半自动化生成Nessus报告的方法
Mar 19 Python
Python Django框架实现应用添加logging日志操作示例
May 17 Python
Python面向对象程序设计之继承、多态原理与用法详解
Mar 23 Python
keras 指定程序在某块卡上训练实例
Jun 22 Python
python 模拟登陆163邮箱
Dec 15 Python
scrapy-splash简单使用详解
Feb 21 Python
Anaconda配置各版本Pytorch的实现
Aug 07 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
Windows下安装Django框架的方法简明教程
Mar 28 #Python
You might like
Yii CGridView用法实例详解
2016/07/12 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
2011/11/05 Javascript
js DOM的学习笔记
2011/12/22 Javascript
jquery创建并行对象或者合并对象的实现代码
2012/10/10 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
jQuery选择器源码解读(八):addCombinator函数
2015/03/31 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
2017/01/16 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
Python 解析XML文件
2009/04/15 Python
pandas 层次化索引的实现方法
2019/07/06 Python
python输出带颜色字体实例方法
2019/09/01 Python
Python for循环与getitem的关系详解
2020/01/02 Python
Python异常继承关系和自定义异常实现代码实例
2020/02/20 Python
使用Python封装excel操作指南
2021/01/29 Python
跑步爱好者一站式服务网站:Jack Rabbit
2016/09/01 全球购物
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
印度民族服装购物网站:BIBA
2019/08/05 全球购物
abstract class和interface有什么区别?
2012/01/03 面试题
岗位职责范本
2013/11/23 职场文书
初三物理教学反思
2014/01/21 职场文书
军训口号
2014/06/13 职场文书
计算机应用应届生求职信
2014/07/12 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
初三英语教学计划
2015/01/23 职场文书
给病人的慰问信
2015/03/23 职场文书
2015年司机工作总结
2015/04/23 职场文书
2016年母亲节广告语
2016/01/28 职场文书