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 + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
Jul 14 Python
python读取word文档的方法
May 09 Python
Python中的pass语句使用方法讲解
May 14 Python
Python实现基本数据结构中队列的操作方法示例
Dec 04 Python
python最长回文串算法
Jun 04 Python
python 平衡二叉树实现代码示例
Jul 07 Python
Python延时操作实现方法示例
Aug 14 Python
解决python os.mkdir创建目录失败的问题
Oct 16 Python
Python中遍历列表的方法总结
Jun 27 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
Mar 30 Python
Python使用lambda抛出异常实现方法解析
Aug 20 Python
Python实现灰色关联分析与结果可视化的详细代码
Mar 25 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 编程请选择正确的文本编辑软件
2006/12/21 PHP
ThinkPHP表单数据智能写入create方法实例分析
2015/09/27 PHP
利用PHP实现一个简单的用户登记表示例
2017/04/25 PHP
HR vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
ExtJS下grid的一些属性说明
2009/12/13 Javascript
jquery 提示信息显示后自动消失的具体实现
2013/12/18 Javascript
对Jquery中的ajax再封装,简化操作示例
2014/02/12 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
nodejs开发环境配置与使用
2014/11/17 NodeJs
如何在node的express中使用socket.io
2014/12/15 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
基于Jquery实现表单验证
2020/07/20 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
解决Angular.Js与Django标签冲突的方案
2016/12/20 Javascript
原生JS使用Canvas实现拖拽式绘图功能
2019/06/05 Javascript
vue监听用户输入和点击功能
2019/09/27 Javascript
python在多玩图片上下载妹子图的实现代码
2013/08/13 Python
使用Python的内建模块collections的教程
2015/04/28 Python
python简单实现旋转图片的方法
2015/05/30 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
python中import与from方法总结(推荐)
2019/03/21 Python
python登录WeChat 实现自动回复实例详解
2019/05/28 Python
详解Python3 pickle模块用法
2019/09/16 Python
python中的线程threading.Thread()使用详解
2019/12/17 Python
Python面向对象封装操作案例详解 II
2020/01/02 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
2020/06/30 Python
Python面试题:如何用Python来发送邮件
2016/03/15 面试题
通信工程专业个人找工作求职信范文
2013/09/21 职场文书
建材投资建议书
2014/05/16 职场文书
大学团日活动新闻稿
2014/09/10 职场文书
2015大学生自我评价范文
2015/03/03 职场文书
辛亥革命观后感
2015/06/02 职场文书
业务员管理制度范本
2015/08/06 职场文书
PYTHON InceptionV3模型的复现详解
2022/05/06 Python
Python OpenGL基本配置方式
2022/05/20 Python