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与js)两种实现
Feb 21 Python
python中__slots__用法实例
Jun 04 Python
Python回调函数用法实例详解
Jul 02 Python
python使用clear方法清除字典内全部数据实例
Jul 11 Python
Python实现简易端口扫描器代码实例
Mar 15 Python
Django数据库操作的实例(增删改查)
Sep 04 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
Mar 14 Python
Python中的取模运算方法
Nov 10 Python
Python3简单爬虫抓取网页图片代码实例
Aug 26 Python
python实现数据清洗(缺失值与异常值处理)
Dec 02 Python
Python交互环境下打印和输入函数的实例内容
Feb 16 Python
Python grequests模块使用场景及代码实例
Aug 10 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中文分词的简单实现代码分享
2011/07/17 PHP
8个必备的PHP功能实例代码
2013/10/27 PHP
php使用websocket示例详解
2014/03/12 PHP
PHP统计当前在线用户数实例讲解
2015/10/21 PHP
菜单效果
2006/10/14 Javascript
jquery foreach使用示例
2013/09/12 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
每天一篇javascript学习小结(RegExp对象)
2015/11/17 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
2015/11/24 Javascript
关于json字符串与实体之间的严格验证代码
2016/11/10 Javascript
VUE页面中加载外部HTML的示例代码
2017/09/20 Javascript
JavaScript中arguments和this对象用法分析
2018/08/08 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
2018/11/21 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
Python使用htpasswd实现基本认证授权的例子
2014/06/10 Python
跟老齐学Python之数据类型总结
2014/09/24 Python
浅谈scrapy 的基本命令介绍
2017/06/13 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
2017/11/14 Python
深入浅析Python传值与传址
2018/07/10 Python
分析python请求数据
2018/08/19 Python
Python中拆分字符串的操作方法
2019/07/23 Python
Python Django简单实现session登录注销过程详解
2019/08/06 Python
详解Java中一维、二维数组在内存中的结构
2021/02/11 Python
Internet主要有哪些网络群组成
2015/12/24 面试题
酒吧员工的岗位职责
2013/11/26 职场文书
公务员总结性个人自我评价
2013/12/05 职场文书
前台文员个人求职信范文
2014/01/05 职场文书
运动会100米解说词
2014/01/23 职场文书
应聘会计求职信
2014/06/11 职场文书
大学生社会实践活动总结
2014/07/03 职场文书
2014县委书记四风对照检查材料思想汇报
2014/09/21 职场文书
2015大学生暑期实习报告
2015/07/13 职场文书
销售口号霸气押韵
2015/12/24 职场文书
《妈妈别哭,有我在》读后感3篇
2020/01/13 职场文书
Promise面试题详解之控制并发
2021/05/14 面试题
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
2021/05/25 Vue.js