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 相关文章推荐
解决Linux系统中python matplotlib画图的中文显示问题
Jun 15 Python
Python对列表中的各项进行关联详解
Aug 15 Python
Python实现桶排序与快速排序算法结合应用示例
Nov 22 Python
Python中文件的读取和写入操作
Apr 27 Python
用python写扫雷游戏实例代码分享
May 27 Python
Python面向对象类的继承实例详解
Jun 27 Python
python基础学习之如何对元组各个元素进行命名详解
Jul 12 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
Jun 27 Python
Pytorch实现神经网络的分类方式
Jan 08 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
Apr 01 Python
Python实现EM算法实例代码
Oct 04 Python
python mongo 向数据中的数组类型新增数据操作
Dec 05 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
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
2017/12/13 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
用js判断页面是否加载完成实现代码
2012/12/11 Javascript
原生JS操作网页给p元素添加onclick事件及表格隔行变色
2013/12/01 Javascript
JavaScript cookie的设置获取删除详解
2014/02/11 Javascript
仿淘宝TAB切换搜索框搜索切换的相关内容
2014/09/21 Javascript
很全面的JavaScript常用功能汇总集合
2016/01/22 Javascript
详解JavaScript中的自定义事件编写
2016/05/10 Javascript
AngularJS 与百度地图的结合实例
2016/10/20 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
2017/06/22 Javascript
jQuery简介_动力节点Java学院整理
2017/07/04 jQuery
详解基于Angular4+ server render(服务端渲染)开发教程
2017/08/28 Javascript
详解react关于事件绑定this的四种方式
2018/03/09 Javascript
Webpack devServer中的 proxy 实现跨域的解决
2018/06/15 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
2019/04/22 Javascript
vue中实现动态生成二维码的方法
2020/02/21 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
Python实时获取cmd的输出
2015/12/13 Python
python3中int(整型)的使用教程
2017/03/23 Python
Django 如何获取前端发送的头文件详解(推荐)
2017/08/15 Python
一篇文章快速了解Python的GIL
2018/01/12 Python
Python实现基于SVM的分类器的方法
2019/07/19 Python
浅谈对python中if、elif、else的误解
2020/08/20 Python
IE支持HTML5的解决方法
2009/10/20 HTML / CSS
亚洲最大的眼镜批发商和零售商之一:Glasseslit
2018/10/08 全球购物
计算机数据库专业职业生涯规划书
2014/02/08 职场文书
日化店促销方案
2014/03/26 职场文书
美国留学经济担保书
2014/05/20 职场文书
户籍证明书标准模板
2014/09/10 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
在职人员跳槽求职信
2015/03/20 职场文书
2015学校年度工作总结
2015/05/11 职场文书
浅谈Java父子类加载顺序
2021/08/04 Java/Android
python基础之//、/与%的区别详解
2022/06/10 Python