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下自己编写web框架的一些要点
Apr 29 Python
PyCharm 创建指定版本的 Django(超详图解教程)
Jun 18 Python
python将字符串list写入excel和txt的实例
Jul 20 Python
OpenCV3.0+Python3.6实现特定颜色的物体追踪
Jul 23 Python
如何使用python实现模拟鼠标点击
Jan 06 Python
python动态文本进度条的实例代码
Jan 22 Python
python词云库wordcloud的使用方法与实例详解
Feb 17 Python
Python读取excel文件中带公式的值的实现
Apr 17 Python
Python验证码截取识别代码实例
May 16 Python
django filter过滤器实现显示某个类型指定字段不同值方式
Jul 16 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
Dec 21 Python
Keras保存模型并载入模型继续训练的实现
Feb 20 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
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
php入门学习知识点二 PHP简单的分页过程与原理
2011/07/14 PHP
解析php dirname()与__FILE__常量的应用
2013/06/24 PHP
php数组保存文本与文本反编成数组实例
2014/11/13 PHP
php数组冒泡排序算法实例
2016/05/06 PHP
php实现等比例压缩图片
2018/07/26 PHP
javascript验证上传文件的类型限制必须为某些格式
2013/11/14 Javascript
利用js实现禁止复制文本信息
2015/06/03 Javascript
基于JavaScript实现移除(删除)数组中指定元素
2016/01/04 Javascript
JS+Canvas 实现下雨下雪效果
2016/05/18 Javascript
深入浅析JavaScript中的arguments对象(强力推荐)
2016/06/03 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
2016/06/28 Javascript
js实现简单的碰壁反弹效果
2016/08/30 Javascript
windows 下安装nodejs 环境变量设置
2017/02/02 NodeJs
使用bootstrap插件实现模态框效果
2017/05/10 Javascript
JS实现数组的增删改查操作示例
2018/08/29 Javascript
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
vue项目创建步骤及路由router
2020/01/14 Javascript
解决vant的Toast组件时提示not defined的问题
2020/11/11 Javascript
vue3.0 项目搭建和使用流程
2021/03/04 Vue.js
python杀死一个线程的方法
2015/09/06 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
Python 内置函数complex详解
2016/10/23 Python
Python机器学习库scikit-learn安装与基本使用教程
2018/06/25 Python
python多线程并发实例及其优化
2019/06/27 Python
python中pygame安装过程(超级详细)
2019/08/04 Python
Python 装饰器原理、定义与用法详解
2019/12/07 Python
python如何使用Redis构建分布式锁
2020/01/16 Python
Python之Django自动实现html代码(下拉框,数据选择)
2020/03/13 Python
python的launcher用法知识点总结
2020/08/07 Python
说出数据连接池的工作机制是什么?
2013/04/19 面试题
函授毕业个人自我评价
2014/02/20 职场文书
委托公证书格式
2015/01/26 职场文书
药店收银员岗位职责
2015/04/07 职场文书
《月球之谜》教学反思
2016/02/20 职场文书