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): 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: except Exception: # raise e print('获取元素异常!') else: pro_file.close() return self.properties

主程序xx.py

#!/usr/bin/python
# -*- coding: utf-8 -*-
脚本名称:xx.py
脚本功能:主程序,读取.properties配置文件
编写人:  pangtaishi
编写日期:2021-02-28
from properties_handler import Properties
# 读取配置文件
dictProperties = Properties("ld.properties").getProperties()
str_all = dictProperties['database']
name = str_all['name']
ip = str_all['ip']
port = str_all['port']
username = str_all['username']
password = str_all['password']
print(str_all)
print(name)
print(ip)
print(port)
print(username)
print(password)
                    ld.properties#配置信息database.type=Argodatabase.name=dddatabase.ip=10.12.15.225database.port=10000database.username=userdatabase.password=passwdproperties_handler.py#!/usr/bin/python# -*- coding: utf-8 -*-'''脚本名称:properties_handler.py脚本功能:解
				
本文实例讲述了Python实现加载及解析properties配置文件的方法。分享给大家供大家参考,具体如下: 这里参考前面一篇://www.jb51.net/article/137393.htm 我们都是在java里面遇到要解析properties文件,在python中基本没有遇到这中情况,今天用python跑深度学习的时候,发现有些参数可以放在一个global.properties全局文件中,这样使用的时候更加方便。原理都是加载文件,然后用line方法进行解析判断”=”,自己从网上找到一个工具类,记录一下。 工具类 PropertiesUtiil.py # -*- coding:utf-8
以.properties为后缀名的文件是在Java开发中非常常用的一种用于存储可变参数的文件类型,例如不同环境的ip地址、端口号、账号密码,又或者是模型的超参数,都可以保存在这类文件中,这样就不需要在代码中找到每个变量的位置并修改。同样,在Python开发中也可以编写一个读取这个文件类型(当然Java还有很多优秀的编程思想,非常值得借鉴),流程非常简单。 1. 编写读取.properties的文件: properties.py # 读取Properti...