Python實(shí)現(xiàn)加載及解析properties配置文件的方法
本文實(shí)例講述了Python實(shí)現(xiàn)加載及解析properties配置文件的方法。分享給大家供大家參考,具體如下:
這里參考前面一篇:http://chabaoo.cn/article/137393.htm
我們都是在java里面遇到要解析properties文件,在python中基本沒有遇到這中情況,今天用python跑深度學(xué)習(xí)的時(shí)候,發(fā)現(xiàn)有些參數(shù)可以放在一個(gè)global.properties全局文件中,這樣使用的時(shí)候更加方便。原理都是加載文件,然后用line方法進(jìn)行解析判斷”=”,自己從網(wǎng)上找到一個(gè)工具類,記錄一下。
工具類 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
通過上面的代碼就可以解析了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
我感覺還是挺方便的,就對(duì)做深度學(xué)習(xí)來說吧,把模型的的位置,訓(xùn)練數(shù)據(jù)放在一個(gè)global.properties文件中,方便管理。
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python函數(shù)使用技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- Python實(shí)現(xiàn)從文件中加載數(shù)據(jù)的方法詳解
- Python 保存加載mat格式文件的示例代碼
- python3+selenium獲取頁面加載的所有靜態(tài)資源文件鏈接操作
- python GUI庫圖形界面開發(fā)之PyQt5動(dòng)態(tài)加載QSS樣式文件
- 解決Python 使用h5py加載文件,看不到keys()的問題
- 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-06Python編程利用Numpy和PIL庫將圖片轉(zhuǎn)化為手繪
這篇文章主要介紹了Python編程利用Numpy和PIL庫將一張圖片轉(zhuǎn)化為手繪風(fēng)格,文中附含詳細(xì)實(shí)現(xiàn)的示例代碼,有需要的朋友可以借鑒參考下2021-09-09Python+matplotlib實(shí)現(xiàn)華麗的文本框演示代碼
這篇文章主要介紹了Python+matplotlib實(shí)現(xiàn)華麗的文本框演示代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01基于Python實(shí)現(xiàn)倒計(jì)時(shí)工具
這篇文章主要為大家詳細(xì)介紹了基于Python實(shí)現(xiàn)倒計(jì)時(shí)工具,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08Django零基礎(chǔ)入門之路由path和re_path詳解
這篇文章主要介紹了Django零基礎(chǔ)入門之路由path和re_path,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09python中利用numpy.array()實(shí)現(xiàn)倆個(gè)數(shù)值列表的對(duì)應(yīng)相加方法
今天小編就為大家分享一篇python中利用numpy.array()實(shí)現(xiàn)倆個(gè)數(shù)值列表的對(duì)應(yīng)相加方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08在spyder IPython console中,運(yùn)行代碼加入?yún)?shù)的實(shí)例
這篇文章主要介紹了在spyder IPython console中,運(yùn)行代碼加入?yún)?shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04Python實(shí)戰(zhàn)之markdown轉(zhuǎn)pdf(包含公式轉(zhuǎn)換)
由于我們markdown編輯器比較特殊,不是很方便瀏覽,如果轉(zhuǎn)換成pdf的話,就不需要可以的去安裝各種編輯器才可以看了。所以本文將介紹如何通過Python實(shí)現(xiàn)md轉(zhuǎn)pdf或者是docx,需要的朋友可以參考一下2021-12-12