Python读取properties配置文件操作示例
作者:bobzhangshaobo 发布时间:2021-06-10 04:20:55
标签:Python,properties,配置文件
本文实例讲述了Python读取properties配置文件操作。分享给大家供大家参考,具体如下:
工作需要将Java项目的逻辑改为python执行,Java的很多配置文件都是.properties的,文件内容的格式是“键.键.键。。。=值”的格式例如A.B.C=value1,D.F=value2等。并且“#”用来注视。python没有专门处理properties格式的包,只有处理标准的ini格式的包。所以需要自己写一个python程序来处理。不说了上程序。
这里参考前面一篇:https://www.jb51.net/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程序设计有所帮助。
来源:https://blog.csdn.net/bobzhangshaobo/article/details/47617107
0
投稿
猜你喜欢
- 本文实例讲述了Python数据分析之双色球统计单个红和蓝球哪个比例高的方法。分享给大家供大家参考,具体如下:统计单个红球和蓝球,哪个组合最多
- 目录精确调整工作表的行高和列宽批量更改多个工作簿的数据格式批量更改工作簿的外观格式设置字体格式修改字体为宋体修改字号字体加粗字体颜色单元格填
- 本文实例讲述了Python实现将数据框数据写入mongodb及mysql数据库的方法。分享给大家供大家参考,具体如下:主要内容:1、数据框数
- 下面是用SA-FileUp组件上传一个HTML文件的程序:fileup.htm < HTM
- Python 调用JS文件中的函数方法如下1、安装PyExecJS第三方库2、导入库:import execjs3、调用JS文件中的方法Pa
- 1.指定GPU运算如果安装的是GPU版本,在运行的过程中TensorFlow能够自动检测。如果检测到GPU,TensorFlow会尽可能的利
- 采集文章给建站带来了很大的方便,特别是一些小网站,人员有限,资金有限,适当的使用采集功能可以很快丰富我们的网站,采集这么厉害可能你会觉的代码
- 本文实例讲述了Python实现读取txt文件中的数据并绘制出图形操作。分享给大家供大家参考,具体如下:下面的是某一文本文件中的数据。6.11
- 本文较为详细的罗列了Python常见的异常处理,供大家参考,具体如下:1. 抛出异常和自定义异常Python用异常对象(exception
- WMI是Windows系统的一大利器,Python的win32api库提供了对WMI的支持,安装win32api即可使用 WMI。本例通过W
- 如何判断一个数值(字符串)为整数不严格检查方法浮点数的自带方法is_integer()如果确定输入的内容为浮点数,是可以直接使用float数
- 本文实例讲述了python实现的分析并统计nginx日志数据功能。分享给大家供大家参考,具体如下:利用python脚本分析nginx日志内容
- 前言:任何一个编程者都少不了要去调试代码,不管你是高手还是菜鸟,调试程序都是一项必不可少的工作。一般来说调试程序是在编写代码之后或测试期修改
- Phar是什么在百度中得到介绍是这样的:在软件中,PHAR(PHP归档)文件是一种打包格式,通过将许多PHP代码文件和其他资源(例如图像,样
- import timefrom selenium import webdriverfrom selenium.webdriver.commo
- 前记在Python中, Dict是一系列由键和值配对组成的元素的集合, 它是一个可变容器模型,可以存储任意类型对象. Dict的存取速度非常
- 本次小编向大家介绍的是根据用户的需求输入想爬取的内容及页数。主要步骤:1.提示用户输入爬取的内容及页码。2.根据用户输入,获取网址列表。3.
- MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Redu
- 1、仅 Safari 和 Opera 识别的 Hack@media all and (min-width:&n
- 本文实例讲述了基于wxpython开发的简单gui计算器。分享给大家供大家参考。具体如下:# wxCalc1 a simple GUI ca