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程序员开发中常犯的10个错误
Jul 07 Python
Python入门必须知道的11个知识点
Mar 21 Python
利用Django-environ如何区分不同环境
Aug 26 Python
python3.6使用urllib完成下载的实例
Dec 19 Python
python构建基础的爬虫教学
Dec 23 Python
python批量修改文件夹及其子文件夹下的文件内容
Mar 15 Python
python3下载抖音视频的完整代码
Jun 05 Python
linux环境下Django的安装配置详解
Jul 22 Python
python numpy中cumsum的用法详解
Oct 17 Python
Python实现链表反转的方法分析【迭代法与递归法】
Feb 22 Python
django使用F方法更新一个对象多个对象字段的实现
Mar 28 Python
Python3.7安装pyaudio教程解析
Jul 24 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加密解密示例分享
2014/01/29 PHP
destoon公司主页模板风格的添加方法
2014/06/20 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
浅析jQuery的链式调用之each函数
2010/12/03 Javascript
菜鸟javascript基础资料整理3 正则
2010/12/06 Javascript
学习javascript,实现插入排序实现代码
2011/07/31 Javascript
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
2013/06/09 Javascript
zTree插件之多选下拉菜单实例代码
2013/11/06 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
JavaScript极简入门教程(一):基础篇
2014/10/25 Javascript
详解javascript实现自定义事件
2016/01/19 Javascript
用jquery获取自定义的标签属性的值简单实例
2016/09/17 Javascript
JS+DIV实现的卷帘效果示例
2017/03/22 Javascript
VUE使用vuex解决模块间传值问题的方法
2017/06/01 Javascript
JS中使用media实现响应式布局
2017/08/04 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
2017/12/26 Javascript
微信小程序当前时间时段选择器插件使用方法详解
2018/12/28 Javascript
vue-cli 目录结构详细讲解总结
2019/01/15 Javascript
使用JavaScript保存文本文件到本地的两种方法
2019/01/22 Javascript
js实现图片局部放大效果详解
2019/03/18 Javascript
JS脚本实现定时到网站上签到/签退功能
2020/04/22 Javascript
[07:38]2014DOTA2国际邀请赛 Newbee顺利挺进胜者组赛后专访
2014/07/15 DOTA
使用python在校内发人人网状态(人人网看状态)
2014/02/19 Python
《Python学习手册》学习总结
2018/01/17 Python
在dataframe两列日期相减并且得到具体的月数实例
2018/07/03 Python
安装python及pycharm的教程图解
2019/10/10 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
师范生自荐信范文
2013/10/06 职场文书
大学生文员专业个人求职信范文
2014/01/05 职场文书
2014年残疾人工作总结
2014/12/06 职场文书
报名委托书
2015/01/29 职场文书
2015年保管员工作总结
2015/04/30 职场文书
2016党员党章学习心得体会
2016/01/14 职场文书
Python+Selenium实现读取网易邮箱验证码
2022/03/13 Python