您好,登錄后才能下訂單哦!
本文實例講述了python讀寫配置文件操作。分享給大家供大家參考,具體如下:
在用編譯型語言寫程序的時候,很多時候用到配置文件,作為一個約定的規(guī)則,一般用 ini 文件作為配置文件,當(dāng)然不是絕對的,也可能是XML等文件。
配置文件是配置的參數(shù)是在程序啟動,或運(yùn)行時需要的,作為編譯型語言,幾乎都會用到,但python是動態(tài)語言。動態(tài)語言的一大特性是解析執(zhí)行的。所以很多情況下需要配置的參數(shù),通常會被直接寫在腳本里。一個常用的做法,就是單獨(dú)用一個文件來作為配置文件,比如我們經(jīng)常接觸的 django ,他會用 settings.py ,urls.py 來配置一些參數(shù)。在需要修改的時候,直接修改這個 py 文件就可以了。
即使是這樣,python 仍然提供了,讀取配置文件的方法。在與其他系統(tǒng)結(jié)合的時候,通常會用得著。查看文檔,自己實現(xiàn)了一個比較通用的讀寫配置文件的方法
# -*- coding:utf-8 -*- import ConfigParser import os class ReadWriteConfFile: currentDir=os.path.dirname(__file__) filepath=currentDir+os.path.sep+"inetMsgConfigure.ini" @staticmethod def getConfigParser(): cf=ConfigParser.ConfigParser() cf.read(ReadWriteConfFile.filepath) return cf @staticmethod def writeConfigParser(cf): f=open(ReadWriteConfFile.filepath,"w"); cf.write(f) f.close(); @staticmethod def getSectionValue(section,key): cf=ReadWriteConfFile.getConfigParser() return cf.get(section, key) @staticmethod def addSection(section): cf=ReadWriteConfFile.getConfigParser() allSections=cf.sections() if section in allSections: return else: cf.add_section(section) ReadWriteConfFile.writeConfigParser(cf) @staticmethod def setSectionValue(section,key,value): cf=ReadWriteConfFile.getConfigParser() cf.set(section, key, value) ReadWriteConfFile.writeConfigParser(cf) if __name__ == '__main__': ReadWriteConfFile.addSection( 'messages') ReadWriteConfFile.setSectionValue( 'messages','name','sophia') x=ReadWriteConfFile.getSectionValue( 'messages','1000') print x
在你的 py 腳本下你創(chuàng)建一個 inetMsgConfigure.ini 文件,然后進(jìn)行測試就可以了。如果inetMsgConfigure.ini 這個文件根本不存在,你當(dāng)然可以調(diào)用python 的方法,創(chuàng)建一個文件
file=open('inetMsgConfigure.ini','wb') file.write(.........自由發(fā)揮) file.close()
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python函數(shù)使用技巧總結(jié)》、《Python面向?qū)ο蟪绦蛟O(shè)計入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。