python 讀寫 .ini 設定檔

來源:互聯網
上載者:User

# coding=UTF-8
import ConfigParser

class MyClass(object):
    '''
    取設定檔
    '''
    def __init__(self):
        self.path = "../config/config.ini"  
        try :
            self.cf = ConfigParser.ConfigParser()  
            self.cf.read(self.path)
        except :
            print "except"
    def get(self, section , option):
        if not self.cf.has_section(section): return
        if not self.cf.has_option(section, option): return
        s = self.cf.get(section, option)
        return s
    def getDefault(self, key):
        ac = "SYSCONF"
        return self.get(ac, key)
    
    def add(self, section, option, value):
        if self.cf.has_section(section): # 追加內容
            if not self.cf.has_option(section, option):
                self.cf.set(section, option, value)
                self.save("r+")
            else :
                self.update(section, option, value)
        else: # 添加新的 section
            if self.cf.has_option(section, option):
                self.update(section, option, value)
            else :
                self.cf.add_section(section)
                self.cf.set(section, option, value)
                self.save("w")
                
    def update(self, section, option, value):
        self.cf.set(section, option, value)
        self.save("w")
        
    def removeSection(self, section):
        self.cf.remove_section(section)
        self.save("w")
        
    def removeOption(self, section, option):
        self.cf.remove_option(section, option)
        self.save("w")
    def save(self, op):
        self.cf.write(open(self.path, op))
if __name__ == "__main__":
    m = MyClass()
    
    section = "ddd3"
    option = "test1322"
    
    m.removeSection(section)
#    m.removeOption(section, option)
#    m.add(section, option, "dsfsdf111")
#    m.update(section, option, "789456qaaa")

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.