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中使用NLTK库实现对词干的提取的教程
Apr 08 Python
python动态加载包的方法小结
Apr 18 Python
详解Python装饰器由浅入深
Dec 09 Python
详解python里使用正则表达式的分组命名方式
Oct 24 Python
python中利用zfill方法自动给数字前面补0
Apr 10 Python
Python多进程与服务器并发原理及用法实例分析
Aug 21 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
Jan 04 Python
python实现图片插入文字
Nov 26 Python
pytorch中torch.max和Tensor.view函数用法详解
Jan 03 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
Feb 27 Python
Python验证码截取识别代码实例
May 16 Python
Python实现简单猜数字游戏
Feb 03 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
PHP程序61条面向对象分析设计的经验小结
2008/11/12 PHP
php实现基于微信公众平台开发SDK(demo)扩展的方法
2014/12/22 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
PHP如何解决微信文章图片防盗链
2020/12/09 PHP
JavaScript 面向对象之命名空间
2010/05/04 Javascript
Jquery 插件开发笔记整理
2011/01/17 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
Highcharts学习之坐标轴
2016/08/02 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
Vuex之理解Store的用法
2017/04/19 Javascript
H5上传本地图片并预览功能
2017/05/08 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
微信小程序实现图片压缩
2019/12/03 Javascript
javascript设计模式 ? 模板方法模式原理与用法实例分析
2020/04/23 Javascript
Python实现测试磁盘性能的方法
2015/03/12 Python
Python的dict字典结构操作方法学习笔记
2016/05/07 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
2019/08/20 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
Python图像处理库PIL中图像格式转换的实现
2020/02/26 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
2020/04/13 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
美国创意之家:BulbHead
2017/07/12 全球购物
有abstract方法的类一定要用abstract修饰吗
2016/03/14 面试题
经典的班主任推荐信
2013/10/28 职场文书
应届大学生的推荐信
2013/11/20 职场文书
财务部经理岗位职责
2014/02/03 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
社区清明节活动总结
2014/07/04 职场文书
投资意向书
2014/07/30 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
2015年防汛工作总结
2015/05/15 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python
德劲DE1105机评
2022/04/05 无线电