Python實(shí)現(xiàn)加載及解析properties配置文件的方法
本文實(shí)例講述了Python實(shí)現(xiàn)加載及解析properties配置文件的方法。分享給大家供大家參考,具體如下:
這里參考前面一篇:http://www.dbjr.com.cn/article/137393.htm
我們都是在java里面遇到要解析properties文件,在python中基本沒(méi)有遇到這中情況,今天用python跑深度學(xué)習(xí)的時(shí)候,發(fā)現(xiàn)有些參數(shù)可以放在一個(gè)global.properties全局文件中,這樣使用的時(shí)候更加方便。原理都是加載文件,然后用line方法進(jìn)行解析判斷”=”,自己從網(wǎng)上找到一個(gè)工具類(lèi),記錄一下。
工具類(lèi) PropertiesUtiil.py
# -*- coding:utf-8 -*-
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
通過(guò)上面的代碼就可以解析了properties文件了。新建一個(gè)文件
global.properties 文件
a.name.last=jie b.name.first=shi #b.name=shijie
測(cè)試 test.py
from PropertiesUtil import Properties
dictProperties=Properties("global.properties").getProperties()
print dictProperties
控制臺(tái)打?。?/strong>
/usr/bin/python2.7 /home/tengxing/rude-carnie/test.py
{'a': {'name': {'last': 'jie'}}, 'b': {'name': {'first': 'shi'}}}
Process finished with exit code 0
我感覺(jué)還是挺方便的,就對(duì)做深度學(xué)習(xí)來(lái)說(shuō)吧,把模型的的位置,訓(xùn)練數(shù)據(jù)放在一個(gè)global.properties文件中,方便管理。
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python函數(shù)使用技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python字符串操作技巧匯總》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- Python實(shí)現(xiàn)從文件中加載數(shù)據(jù)的方法詳解
- Python 保存加載mat格式文件的示例代碼
- python3+selenium獲取頁(yè)面加載的所有靜態(tài)資源文件鏈接操作
- python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5動(dòng)態(tài)加載QSS樣式文件
- 解決Python 使用h5py加載文件,看不到keys()的問(wèn)題
- python用pandas數(shù)據(jù)加載、存儲(chǔ)與文件格式的實(shí)例
- Python加載帶有注釋的Json文件實(shí)例
- python web基礎(chǔ)之加載靜態(tài)文件實(shí)例
- python:關(guān)于文件加載及處理方式
相關(guān)文章
Python使用Quart作為web服務(wù)器的代碼實(shí)現(xiàn)
Quart 是一個(gè)異步的 Web 框架,它使用 ASGI 接口(Asynchronous Server Gateway Interface)而不是傳統(tǒng)的 WSGI,這使得 Quart 特別適合用于構(gòu)建需要處理大量并發(fā)連接的高性能 Web 應(yīng)用程序,本文給大家介紹了Python使用Quart作為web服務(wù)器的代碼實(shí)現(xiàn)2024-06-06
Python編程利用Numpy和PIL庫(kù)將圖片轉(zhuǎn)化為手繪
這篇文章主要介紹了Python編程利用Numpy和PIL庫(kù)將一張圖片轉(zhuǎn)化為手繪風(fēng)格,文中附含詳細(xì)實(shí)現(xiàn)的示例代碼,有需要的朋友可以借鑒參考下2021-09-09
Python+matplotlib實(shí)現(xiàn)華麗的文本框演示代碼
這篇文章主要介紹了Python+matplotlib實(shí)現(xiàn)華麗的文本框演示代碼,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
基于Python實(shí)現(xiàn)倒計(jì)時(shí)工具
這篇文章主要為大家詳細(xì)介紹了基于Python實(shí)現(xiàn)倒計(jì)時(shí)工具,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
Django零基礎(chǔ)入門(mén)之路由path和re_path詳解
這篇文章主要介紹了Django零基礎(chǔ)入門(mén)之路由path和re_path,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
python中利用numpy.array()實(shí)現(xiàn)倆個(gè)數(shù)值列表的對(duì)應(yīng)相加方法
今天小編就為大家分享一篇python中利用numpy.array()實(shí)現(xiàn)倆個(gè)數(shù)值列表的對(duì)應(yīng)相加方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
在spyder IPython console中,運(yùn)行代碼加入?yún)?shù)的實(shí)例
這篇文章主要介紹了在spyder IPython console中,運(yùn)行代碼加入?yún)?shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
Python實(shí)戰(zhàn)之markdown轉(zhuǎn)pdf(包含公式轉(zhuǎn)換)
由于我們markdown編輯器比較特殊,不是很方便瀏覽,如果轉(zhuǎn)換成pdf的話,就不需要可以的去安裝各種編輯器才可以看了。所以本文將介紹如何通過(guò)Python實(shí)現(xiàn)md轉(zhuǎn)pdf或者是docx,需要的朋友可以參考一下2021-12-12

