python读取properties文件
2019-08-09 本文已影响0人
kacen
环境: python2.7
操作系统: linux
首先咋们要准备一个properties脚本,这个到时候是需要引用的.但是提醒大家版本一定要和我的一致,要么很难受的,除非你写了一个封装的脚本可以通用.
1.先新建一个PropertiesUtil文件,里面放入你要使用的类,记住你的类名待会要用
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
2.新建一个新的.py文件,开始获取你的信息,当然要有个.properties的文件,具体内容如下
properties文件内容
DB.username=123456
DB.password=123321
.py文件
#这里的parent_dir是你当前的路经,使用sys.path将该路径下导入临时的.py文件加入到扫描范围内,这样就可以引入自己的其他类
sys.path.append("parent_dir")
#这里就是导入,from ***(你的文件名,不带后缀) import ***(这里是你的类名)
from PropertiesUtil import Properties
#read properties这里路径按照实际路径来
currentProperties = Properties(parent_dir+"/config/test.properties").getProperties()
currentport = currentProperties['server']['port']
#获取全部的properties文件信息
print currentProperties
#获取该字段下的所有信息
print currentProperties['DB']
#获取具体的字段信息
print currentProperties['DB']['username']
以上代码是通用的,大家可以直接放入linux的py下跑起,记得改parent_dir和properties文件路径就好了
本文章结束,是不是又学到了什么,一点一点来,总会有收获!