1. 程式人生 > >python之configparse模塊

python之configparse模塊

ini roo options pass IT engine 配置 imp fault

編寫一個.ini配置文件

新建一個config對象,給section賦值一個字典,最後寫入文件。

import configparser
config=configparser.ConfigParser()

config["DEFAULT"]={
        ‘ENGINE‘: ‘django.db.backends.mysql‘,
        ‘HOST‘: ‘127.0.0.1‘,
        ‘PORT‘ : ‘3306‘,
        ‘NAME‘:‘request‘,
        ‘USER‘:‘root‘,
        ‘PASSWORD‘: ‘123456‘,
        ‘OPTIONS‘: {
            ‘init_command‘:"SET sql_mode=‘STRICT_TRANS_TABLES‘"
        }
}

config[‘django_setting‘]={
        ‘ENGINE‘: ‘django.db.backends.sqlite3‘,
        ‘NAME‘: ‘db.sqlite3‘,
    }
with open("data.ini","w") as fp:
    config.write(fp)

技術分享圖片

讀取配置文件

新建一個config對象,讀取配置文件,采用get方法或者字典讀取section下的option的值

import configparser
config=configparser.ConfigParser()

config.read("data.ini")
keys=[]
print (config["django_setting"])      #<Section: django_setting>
print (config.get(‘DEFAULT‘,‘HOST‘))  #127.0.0.1
print (config[‘DEFAULT‘][‘HOST‘])     #127.0.0.1
for key in config["django_setting"]:
    keys.append(key)
print (keys)                          #[‘engine‘, ‘name‘, ‘host‘, ‘port‘, ‘user‘, ‘password‘, ‘options‘]
print (config.items("DEFAULT"))       #[(‘engine‘, ‘django.db.backends.mysql‘), (‘host‘, ‘127.0.0.1‘), (‘port‘, ‘3306‘), (‘name‘, ‘request‘), (‘user‘, ‘root‘), (‘password‘, ‘123456‘), (‘options‘, ‘{\‘init_command\‘: "SET sql_mode=\‘STRICT_TRANS_TABLES\‘"}‘)]

改變配置文件

新建一個config對象,讀取配置文件,add_section新增section,remove_section刪除section,remove_option移出某個section中的鍵值對,set新增或者改變某個section中的某個option的值,最後寫入配置文件

import configparser
config=configparser.ConfigParser()

config.read("data.ini")

config.add_section("new")
config.remove_section("django_setting")
config.remove_option("DEFAULT","ENGINE")
config.set("new","ad","123")
with open("data1.ini","w") as fp:
    config.write(fp)

技術分享圖片

python之configparse模塊